作业帮 > 综合 > 作业

matlab中的基础问题

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 01:36:36
matlab中的基础问题
由于第一次使用,所以不会用.
现在是有公式

公式里面应该是dt...然后想用matlab画出来,t[5,8]
编的程序是
syms x t
t=[5:0.25:8]
s=exp(-(x-6.4)^2/0.29^2)/(sqrt(2*pi)*0.29);
y=(0.2+(160000-8.25*int(s,5,'t'))/s)*(t-5)/3;
plot(t,y)
但是画不出图像...
显示
matlab中的基础问题
表达式分母的S应该是个常数吧?如果是上面被积分函数,那么还会包含符号变量x,没法画图的. 假设S=3,参考代码:S=3;
syms x t
s=exp(-(x-6.4)^2/0.29^2)/(sqrt(2*pi)*0.29);
y=(0.2+(160000-8.25*int(s,5,t))/S)*(t-5)/3;
t=[5:0.25:8];
plot(t,subs(y))
再问: 请问一下那个函数没有改变吧...因为好像画出来的图形是但是应该画出来是一条下降的曲线的呀...还有初值不为零...
再答: 1、分母的S到底是什么,你并没有回答。我是随便取的数,画出的图和你预期不一样很正常。2、表达式是原来的,我没改(除了S)。我只是调整了语句顺序,最后plot的时候进行了subs,从程序的角度保证正确。简单看了下,至少公式里的alpha在你写的表达式里没有体现。3、你说的【应该画出来是一条下降的曲线的呀...还有初值不为零】不知有什么根据?如果有可以参照的结果,请贴出来作为参照。
再问: S就是一个常数,取的80000 检查了一下,是我的公式在计算的时候写错了...实在不好意思.... 非常感谢~
再答: 答复一下你在评论里面的问题【如果“t=[5:0.25:8]”放在第二行为什么也不能画出图形??】。 那种情况下,如果y的那个表达式按照我的写法也是可以的:syms x t
t=[5:0.25:8];
S=80000;
s=exp(-(x-6.4)^2/0.29^2)/(sqrt(2*pi)*0.29);
y=(0.2+(160000-8.25*int(s,5,t))/S)*(t-5)/3;
plot(t,subs(y))但如果y的表达式按照你的写法(积分上限的t加引号)y=(0.2+(160000-8.25*int(s,5,'t'))/S)*(t-5)/3;就不可以。 这是因为,按照我的写法,计算y的时候直接就把t的值(数值型向量)代入得到具体的数了,后面subs也可以不要(用了也不算错)。而按照你的写法,计算y的时候,int(s,5,'t')的结果仍然保留了符号变量t,(t-5) 则是把数值向量t代入,这样得到的y是一个1x13的sym对象(其中包含符号量t),然后再进行subs,会得到157个元素的向量(因为y的第一个元素是0,与t无关,其余12个元素与t有关,就会分别把t的13个元素代入,这样一共是1+12*13=157)。