初学matlab,想编一个1+12+13+……1n的求和程序,n为输入,结果不对。

初学matlab,想编一个1+12+13+……1n的求和程序,n为输入,结果不对。,第1张

麻烦

直接在命令窗口输入:

n=100(假如是100);

i=1:n;

sum(1/i)

或者按你说的编写函数:

function y=sum(n)

sum=0;

for i=1:n

sum=sum+1/i;

end

再在主窗口调用即可

这是MATLAB中的符号计算,要生成[1-2abs(x)]/a 因为x和a都是变量,如果直接在命令窗口输入会提示x,a是没有定义的变量,所以首先要定义两个符号变量:syms x a;

然后再输入[1-2abs(x)]/a 就不会产生错误。关于matlab符号计算在matlab中很重要,建议下载一些资料多加练习。我这里也有很多相关学习资料,如果有必要我可以共享给你!

在matlab的command window 的窗口中,输入edit 文件名(文件名一般以字母开头),如下:

>> edit main

再回车,就会在左侧的current folder里面新建一个名为mian的m文件,d出编辑窗口,在编辑窗口输入你要编写的程序即可。

也可以直接点击matlab左上角的新建按钮,新建一个文件,即New script,在里面编写程序,并保存在你指定的位置,这时候也可以修改文件名。

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

问题在这一行:

while (in>0||in~=0)  % 数大于0或者数据不为0进入循环,数据为0小于0跳出循环

分析:“数大于0或者数据不为0进入循环”,这句话是矛盾的啊,数不为0等价于数大于0或数小于0,已经包含前面的条件了啊,所以你的意思是输入的数大于0就进入循环吧,这样才能做到你说的”数据为0小于0跳出循环“。

修改方法:把 while (in>0||in~=0) 改为 while (in>0)

t1=0:1:3表示t1的变化范围从0取到3,间隔为1,即每隔1取一个值,

对应的也可以表示成t1=[0,1,2,3]

t=0:001:4表示t的变化范围从0取到4,间隔为001,即每隔001取一个值

用这样的方式表示,可以简化输入,要不然一个一个输入很麻烦的!

以上就是关于初学matlab,想编一个1+1/2+1/3+……1/n的求和程序,n为输入,结果不对。全部的内容,包括:初学matlab,想编一个1+1/2+1/3+……1/n的求和程序,n为输入,结果不对。、小弟是初学者,求助—matlab中自己编制程序,生成如下信号[1-2*abs(x)]/a,怎样做,怎么会有x又有a呢、matlab中的脚本程序怎么编写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9734247.html

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

发表评论

登录后才能评论

评论列表(0条)

保存