matlab for循环。分析该for循环执行情况,并写出程序运行结果

matlab for循环。分析该for循环执行情况,并写出程序运行结果,第1张

H = zeros(4,4)

for m = 1:4

for n =1:4

H(m,n) = m^2+n^2

end

end

H

输知悉碰搭谈出结陆弯果:

H =

2 51017

5 81320

10131825

17202532

第一问:旁衡可以用dsolve()求得其特解,

>>syms y(x)

>>D2y=diff(y,2)Dy=diff(y,1)

>>y=dsolve(D2y-2*Dy+4*y==x,y(0)==0,Dy(0)==1)

运行结果

y=x/4 - (exp(x)*cos(3^(1/2)*x))/8 + (7*3^(1/2)*exp(x)*sin(3^(1/2)*x))/24 + 1/8

第二问:∫f(x)的定积分帆野值

>>I=quad(@(x)eval(y),0,1,1e-12)

运行结果,I =      0.80274

第三问:可以用态启喊fplot()绘出f(x)的图像

>>fplot(@(x)eval(y),[-1,1])

运行结果,

当输入命令后显示的ans就是计算结果了.

关于ans:斗老

一、什么是ans

ans是matlab中默认的结果变量. 每次matlab进行运算后, 结果都要储存在指定的变量中. 如果只是输入表达式, 却不指定把表达式的运算结果储存在那个变量里面, 那么matlab就自 动地将结果储存在ans变量中. 直到下一次不带指定存储变量的运算结束前, ans中所储存的值不变. 因此, 可以在下一次运算中用ans调用上一次运算的结果.

二、ans的值

当m文件中出现非赋值性的计算时,matlab会把结果自动存入ans,例如1+2^2,运行结果就是ans=5。如果m文件中每一个计尺销昌算都是赋值的,即所计算的结果都是保存在自己设定的变量中的,那么ans一直没有得到使用,就会一直是1。

三、经常遇到的出现ans的情况

1、如果对某个变量进行赋值计算,没有在后面加分号结束该计算,运算结果会自动以ans显示该值,如 y = 9或y = 9 x = 10

运算结果中会自动出现ans = 9,即使并没有要求将其输出,如果是陵扒迭代运算,则ans会反复出现。

2、如果文件名由纯数字组成,则计算结果自动为ans = 文件名

3、另外一种是运行的时候总有ans=1出现,可能是把elseif写成了else,所以出来ans=1,加上以后就没有ans=1了。

如果是elseif后面还会跟一个判断,而一般else是没有的。如果将elseif错写为else,后面会跟一个判断的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8240467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存