Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-06-22, 21:25   #1
nospecial
初级会员
 
注册日期: 2008-06-22
年龄: 37
帖子: 12
声望力: 17
nospecial 正向着好的方向发展
默认 版主 一个简单的问题


我是一个MATLAB的初学者,昨天老师留了个实验,用matlab求一个系统传递函数的未知参数.下面是我想的框架.主要的不是求解的原理问题,就是程序的可行性,有些注释,希望给些指点.

syms s
y=ilaplace(0.35/((s+0.5)*(s+0.7)));
for t=0:3
g(t)=y;
end /*t=0到3 时,将Y的值赋予g(t)*/

A=[g(1),g(2);g(2),g(3)]; /*方程组-g(0)=a1*g(1)+a2*g(2) ;-g(1)=a1*g(2)+a2*g(3)求a1.a2 */
B=[-g(0),-g(1)];
C=[a1,a2];
C=B/A; /*求出a1,a2 */
x=solve('1+ai*x+a2*x^2') /*1+ai*x+a2*x^2=0 的根*/
s1=log(x1);
s2=log(x2);
D=[1,1;exp(s1),exp(s2)];
E=[g(0),g(1)];
F=[c1,c2];
F=E/F; /*求出c1,c2*/
nospecial 当前离线   回复时引用此帖
旧 2008-06-23, 18:10   #2
fanxing39
高级会员
 
注册日期: 2007-12-02
年龄: 44
帖子: 303
声望力: 31
fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星
默认

程序的问题还是挺多的,你的y 还想是在做 拉式变换哦

错误:1. g(t) 你是从0开始取的,这是不对的,向量的第一个位置对应的是1,不是0
2. C=[a1,a2],直接删除,虽然能明白你的意思,但是不是这么用的,把这个删除了,再把下面的程序 C=B/A 改为 [a1,a2]=B/A ,就可以了。
3. 你的a1求出来是 -1, a2=0,那么解那个方程组的时候 只能得到一个解,不会有两个解
fanxing39 当前离线   回复时引用此帖
旧 2008-06-23, 18:55   #3
fanxing39
高级会员
 
注册日期: 2007-12-02
年龄: 44
帖子: 303
声望力: 31
fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星
默认

x=solve('1+ai*x+a2*x^2')
这个程序,如果这么写的话 a1,a2 都是字母串,而不是数值
所以应该改为:
syms x
f=@(a1,a2) 1+a1*x+a2*x^2;
X=solve(f(a1,a2));
就可以了

不过方程只有1个解,你想得到2个解,那你的问题是不是哪里弄错了呢?
fanxing39 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]急,关于解偏微分方程 duras MATLAB论坛 0 2008-08-15 11:23
[求助]刚入门MATLAB,有一问题请教,求plot(x,y) 椰风 MATLAB论坛 0 2008-05-12 19:20
【求助】如何做FFT变换? ceeshy MATLAB论坛 1 2007-12-21 11:27
【求助】一个简单的作图问题 hinac MATLAB论坛 3 2007-07-10 11:22
【求助】有一个数学实验问题请教,急急急! 买豆腐的 MATLAB论坛 0 2007-07-03 16:44


所有时间均为北京时间。现在的时间是 18:22


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.