声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1902|回复: 3

[求助]:如何给符号变量赋值?(一个二阶环响应流程例子)!

[复制链接]
发表于 2006-1-2 10:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>本例子是实现一个简单的RC二阶环相位阶跃响应时间图,程序中有一个laplace变换,之后还有一个反laplace变换,程序划线部分是问题所在:theta2关于t的函数的一个数组,我想给t赋一组数值[0.1:0.1:10],可是不对,出以下错误:<br>??? Error using ==&gt; reshape<br>To RESHAPE the number of elements must not change.</P>
<P>Error in ==&gt; D:\tools\MATLAB6p5\toolbox\symbolic\@sym\double.m<br>On line 45  ==&gt; D = reshape(eval(X),m,n);</P>
<P>Error in ==&gt; D:\tools\MATLAB6p5\toolbox\symbolic\@sym\subs.m<br>On line 164  ==&gt;             NEWf = double(sym(maple('map','F',char(sym([NEWexpr{:}])))));</P>
<P>Error in ==&gt; D:\tools\MATLAB6p5\work\ip_07_11_eXXXXX.m<br>On line 13  ==&gt; theta2=subs(theta2,t,0.1:dt:10);</P>
<P>小弟水平有限,不知道如何赋值,请高人指点!谢谢了<br>程序流程如下:<br><br>echo on;<br>syms t s;<br>w_n=100;  %无阻尼振荡频率<br>L=0.5;    %阻尼系数<br>dt=0.1;<br>theta1=ones(1,100);  %输入相位(时域)<br>theta1_s=laplace(theta1,t,s); %输入相位(S域)<br>H_s=w_n^2/(s^2+2*L*w_n*s+w_n^2); %闭环传递函数<br>theta2_s=H_s*theta1_s; %输出相位(S域)<br>echo off;<br>echo on;<br>theta2=ilaplace(theta2_s,s,t);输出相位(时域)<br><U>theta2=subs(theta2,t,0.1:dt:10);</U><br>y=theta2./theta1;  %系统响应<br>echo off;<br>plot(t,y)<br>title('RC二阶环相位阶跃响应时间图')<br><br></P>[em04]
[此贴子已经被aspen于2006-1-7 14:10:33编辑过]

回复
分享到:

使用道具 举报

 楼主| 发表于 2006-1-3 00:38 | 显示全部楼层
划线之前的theta2是一个关于t的函数的1行100列的一串数组,我现在想分别给这100个关于t的数组赋值从0.1到10(步长为0.1)的值,应该如何赋值啊??谢谢大家了![em06]
发表于 2006-1-3 11:34 | 显示全部楼层

回复:(糖葫芦)[计算机编程][求助]:如何给符号变量赋...

subs用错了<BR><BR>theta2=subs(theta2,t,{0.1:dt:10});<BR>这时theta2是100*100的矩阵<BR>对角线上的元素就是你要的
 楼主| 发表于 2006-1-3 22:12 | 显示全部楼层
先谢谢楼上兄弟,可还是不行阿,麻烦大家在给看看,谢谢了[em06]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 10:29 , Processed in 0.066228 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表