Matlab n=input(''); for x=1:n; y(x)=(5 * x^3 - 3*x - 2)/(-4
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 01:51:12
Matlab n=input(''); for x=1:n; y(x)=(5 * x^3 - 3*x - 2)/(-4 * x^3 + 3*x - 2); end plot(1:n,y)
比如第一次给n为10,图像能出来,第二次给的值小于10,就报Vectors must be the same lengths,为什么?如果在for前面加上y = zeros(1,n);就没有问题,为什么?
比如第一次给n为10,图像能出来,第二次给的值小于10,就报Vectors must be the same lengths,为什么?如果在for前面加上y = zeros(1,n);就没有问题,为什么?
因为在你的两次运行之间没有清除变量 当第一次运行后 工作空间里就保存了这个长度的y,第二次你给的长度小于第一次的话,你看 第一次给10,运行完,工作空间里 y是一个1行10列的矩阵,第二次运行 你给5 那么n=5,但是y只有第一个到第五个值是你第二次运行算的,它里面还有第六个到第十个值,1:n的长度是5,y的长度是10,因此在plot作图的时候报错,说矩阵维数一定要相等(即实际上你的并不相等)
加y=zeros(1:n)的话,即每次运行的时候都重新初始化了一个与n长度相同的y,这样算出来的y最后长度也跟1:n长度一致
一般来讲,编程序要养成一个比较好的习惯,在普通的命令文件开头打clear语句,先清除一下变量空间.另外,类似于这种情况下,最好在每次出现矩阵类型的新变量时,要先初始化一下,告诉电脑你的矩阵维数,让电脑预先分配好地址空间,高版本的matlab会提示你这样做,不这样做的话,也不会报错,但是在你的程序很大的时候,这么做有些耗内存.
加y=zeros(1:n)的话,即每次运行的时候都重新初始化了一个与n长度相同的y,这样算出来的y最后长度也跟1:n长度一致
一般来讲,编程序要养成一个比较好的习惯,在普通的命令文件开头打clear语句,先清除一下变量空间.另外,类似于这种情况下,最好在每次出现矩阵类型的新变量时,要先初始化一下,告诉电脑你的矩阵维数,让电脑预先分配好地址空间,高版本的matlab会提示你这样做,不这样做的话,也不会报错,但是在你的程序很大的时候,这么做有些耗内存.
input x input y print x/2 print 3*y x=x+1 y=y-1 print x prin
y=(x-1)(x-2)(x-3)(x-4)...(x-n)
INPUT "x=";x
f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!编写matlab程序计算,x和n为输入值
设y=x(x-1)(x-2)(x-3)——(x-n),则y^(n+1)=?
y[n]=x[n]+0.5x[n-1]+0.7y[n-1]-0.1y[n-2] 怎么用matlab求y[n]的方程?或者
如何用matlab画出y[n] = x[n]x[n-1]
若1+2+3+...+n=a,求代数式(x^ny)(x^n-1y^2)(x^n-2y^3)...(x^2y^n-1)(x
C语言 f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!直到|x^n/n|
输入语句的数学题正确的一项A.INPUT x,y,z B.INPUT "x=";x,"y=";yC.INPUT 2,3,
y=x(x-1)(x-2)(x-3)……(x-n)的n阶导数
数学基本算法语句下列输入语句错误的是 并说明原因 每一项都要INPUT 2,3,4 INPUT X=2INPUT X,Y