matlab求z变换的tat,⽤matlab求z变换感悟
如何⽤matlab实现Z变换
答:h = tf([1 0] , [1 1 1]); zh = c2d(h, 0。
00005,'zoh') [num den] = tfdata(zh, 'v') [z, p, k] = tf2zpk(num, den) 其中第⼀⾏为s域表达式,前⾯括号内是分⼦系数,后⾯括号内是分母系数;第⼆⾏为z闭环公式,可以选择zoh零阶保持器法,也可以选择其他,0。
h = tf([1 0] , [1 1 1]);
zh = c2d(h, 0。
00005,'zoh')
[num den] = tfdata(zh, 'v')
[z, p, k] = tf2zpk(num, den)
其中第⼀⾏为s域表达式,前⾯括号内是分⼦系数,后⾯括号内是分母系数;
第⼆⾏为z闭环公式,可以选择zoh零阶保持器法,也可以选择其他,0。
00005为⼀半的开关周期;
⽤matlab⽅程求解微分⽅程
>> y=dsolve('2000*Dy-(0。
08-y*0。
08)','y(0)=0','t')y =1-exp(-1/25000*t) 即:C(t)=1-exp(-1/25000*t)
学习MATLAB的感想
matlabsky。
com% contact me matlabsky@gmail。
matlabsky。
com/thread-8-1-1。
html 这⾥有数千字的Matlab学习感想,你不妨看看
matlab求z反变换
%⼏个前提:
1。
2。
车辆的站点信息严格以“z数字-z数字-z数字”的形式存放
3。
站点总数,我以车辆经过的站点信息中数字最⼤的为主。
也意味着站点信息必须由1开始,并且连续到最⼤值。
%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Author : Wacs5
%Date : 20091229 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear
fid=fopen('bus。
txt','r');
MaxStation=0; %站点总数(这⾥以出现的最⼤数字为主)
car=0; %多少路车
while(~feof(fid))
fline=fgetl(fid);
if (isempty(fline))%空⾏
continue;
end
if (fline(1)=='G') %车号⾏
car=car+1;
CarNum(car,1)=str2num(fline(2:end)); %记录车号
fline=fgetl(fid); %读取车辆经过的站点信息
temp=sscanf(fline,'z%d-'); %读取站点信息
CarInfo{car}=temp(:)'; %存⾄细胞元数组中
MaxStation=max(MaxStation,max(temp)); %更新站点总数
end
end
fclose(fid);
%%%%%⽂件读取完毕%%%%%
NeiMatr=zeros(MaxStation);
for i=1:car
for j=1:length(CarInfo{i})-1
NeiMatr(CarInfo{i}(j),CarInfo{i}(j+1))=1;
NeiMatr(CarInfo{i}(j+1),CarInfo{i}(j))=1;
end
end
⽤matlab求椭圆周长
不⽤matlab,⽤我⾃⼰的公式⾏不?
椭圆的短半径是(6371+439)=6810
椭圆的长半径是(2384+6371)=8755
6810/8755=0。
77784123358
椭圆系数是:3。
153868632632
椭圆周长等于:3。
153868632632*(6810+8755)=49089。
9652669176km
成果正在送审,这是第⼀次实⽤,希望能够帮到你!
有兴趣的话可以参见我空间的⽂章。
matlab求导
运⽤MATLAB求拉普拉斯变换的问题
这⾥t已经是符号变量,就不⽤对它赋值(第⼆⾏)。
我写了个简单的代码:
clear all;
close all;
clc;
%带有阶跃函数的Laplace变换
syms t s
f=exp(-t)*heaviside(t-2) %heaviside 阶跃函数的表⽰
F=laplace(f,t,s)运⾏的程序截图如下:
f =
heaviside(t - 2)/exp(t)
F =
1/(exp(2)*exp(2*s)*(s + 1))
希望能有帮助。
怎样⽤matlab对样条函数求导 ⿇烦⼤家帮帮忙
⾸先,求导属于符号运算,对于⼀般的数值型的变量是不能进⾏求导的。
其次,⽤@ 定义的匿名函数只是⼀个函数句柄,必需对其进⾏调⽤才能真正使得函数⽣效。
其实,也并⾮⽤@ 定义的函数就不能求导,重要的是满⾜上⾯的两点:要调⽤函数,⽽且得到的结果是符号表达式,例如: >>syms y>>f=@(x)2*x^2+3;>>diff(f(y)) ans = 4*y
怎样⽤MATLAB求解⾼次⽅程
% 最后⼀句改为
i0=solve(Ttq*ig*et/r*i0-Ff-Fw);
% 因为你前⾯定义过syms i0,所以solve⾥不⽤引号,可以直接把各个参数代⼊,是⼀个⾃变量为i0的sym类型的表达式,不加引号的话也不能加=号,⽅程两边要挪到⼀边。
%如果你不定义syms i0,那也可以直接⽤
i0=solve('Ttq*ig*et/r*i0-Ff-Fw=0' , 'i0')
% 此时因为多个未知数,所以必须指定所求的i0,结果⽤其他参数表⽰,所以要换成数值,还要加⼀句
x=subs(i0) %这句的意思就是⽤现有变量内容替换sym类型⾥的变量名
求⽤Matlab如何画求导函数曲线
>>sol=dsolve('DI=I*(100-I)')
sol =
100
-100/(exp(C3 - 100*t) - 1)
>>I=str2func(['@(t,C3)',vectorize(char(sol(3)))])
I =
@(t,C3)-100。
/(exp(C3-100。
*t)-1)
>>C3=1;t=-0:0。
01:0。
5;
plot(t,I(t,C3))
应该有初值,有初值就简单了,我假设C3=1(c3是随机输出的可能是c2 c4)
绘制出的图
也可以⽤数值⽅法解决
其实应是这样吧
发布评论