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);

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 10:11:45
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);

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);
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);就没有问题,为什么?

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);
因为在你的两次运行之间没有清除变量 当第一次运行后 工作空间里就保存了这个长度的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会提示你这样做,不这样做的话,也不会报错,但是在你的程序很大的时候,这么做有些耗内存.

matlab做fft实验代码clc;clear;clf;N=input('Node number')T=input('cai yang jian ge')f=input('frenquency')choise=input('add zero or not?1/0 ')n=0:T:(N-1)*T; %采样点k=0:N-1;x=sin(2*pi*f*n);if choise==1e=input('Input the number of zeros!')x=[x zer matlab一个定义值只能用于一个公式的计算吗?“W=input('input W(kg)=');mw=input('input mw(kg/h)=');V0=input('input V0=');T0=input('input T0=');P0=input('input P0=');P0v=input('input P0v=');M0a=((P0-P0v)*V0)/(287*T0);M0v=(P0v*VO)/(461*T0 matlab求解直线与椭圆交点方程出的问题syms tD=input('输入射线源到旋转轴距离 D ');d1=input('输入任一点到中心探测器的距离 d1 ');d2=input('输入任一点到z轴的距离d2 ');h=input('输入射线源与y轴夹 MATLAB取出矩阵中元素的问题inputr=input(:,:,1)inputg=input(:,:,2) matlab中solve语句y=input('please input relativeroughness:');z=input('please input Re:');[x]=solve('1/sqrt(x)=1.74-2*log10(2*y+18.7/(z*sqrt(x)))','x');x=subs(x); fprintf('沿程损失系数是%15.14f ',x)当y=0.01,z=8e7结果x=0但是把数直接 output += input[input.Length - int input = input.nextInt(); MATLAB 如何循环作图h=input('请输入兔子距离洞口的距离:');T=0.1;%步长m=1;n=h/T;i=input('请输入要测试的猎狗的起始位置的数目:');for j=1:iXj=zeros(m,n);%狗的实时横坐标Yj=zeros(m,n);%狗的实时纵坐标xj=zer matlab错误:Input argument x is undefined.Error in ==> overlapsave at 2 Lenx=length(x);源代码是:function y=overlapsave(x,h,N)Lenx=length(x);M=length(h);if N matlab程序n1=input('请输入采样点数n:'); n=-n1:n1; sinf=exp(-(n/pi).^2); subplot(211); stem(n,sinf); xlabel('n');ylabel('x(n)'); title('采样后的时域信号y=x(n)'); w=0:(pi/n1):4*pi; subplot(212); plot(w,fft1(w,sinf,n)); xlabel matlab 函数求解N阶乘函数定义如下:function my_fact(n)%用递归求N的阶乘.if nargin~=1,error('wrong input.');endif nargout>1,error('wrong output.');endif abs(n-floor(n))>eps|n1k=n*my_fact(n-1);elseif any([0 1]==n)k=1;end,endmy_fact(11 matlab运行时出现N= Error using==>leNot enough input arguments.Error in==>fangdaqi at 4dt=le-4;以下是原程序,clear,clfN=input('输入放大器级数 N=');wn=1000;dt=le-4;tf=0.01;t=0:dt:tf;y=zeros(N,length(t));for n=1:Np0=-linspace(.95,1.05,n matlab的 input函数问题syms x lanmuda n2 n1 n3 H k0H=input('请输入芯层厚度=');lanmuda=('请输入波长=');n1=('请输入上层折射率=');n2=('请输入中间层折射率=');n3=('请输入下层折射率=');N=('请输入模数=');k0=2*pi MATLAB出现?Subscript indices must either be real positive integers or logicalsclear all %a .mRh=input('请输入环半径,Rh=');I0=input('请输入环电流,I0=');mu0=4*pi*1e-7;C0=mu0/(4*pi)*10; %归常数Nh=20; %电流环分段数x=linspace(-3,3,N MATLAB中如何直接输入矩阵我先输入一个数n,规定这个矩阵为n*n阶然后怎么把一连串的数据输进3这个n阶方阵呢?例如,n=3,输入数据123456789,即使得方阵=【1 2 3;4 5 6;7 8 9】呢n=input('Enter jiedian :')a= matlab 错误Error using zy (line 4) Not enough input arguments.function f=zy(p,n,m,t)int n m t;syms a c;if(p>0|p3|2*t*sqrt(1/(n*tan(pi/n)))c/sqrt(a*c)&2*m*sqrt(2/(n*sin(2*pi/n)))==c/sqrt(a*c)|m*t 我用matlab做层次分析,程序代码如下,但是怎么就没结果呢?%层次分析法的matlab程序 %%%%diertimoxingyiclc,cleardisp('输入判断矩阵');% 在屏幕显示这句话A=input('A=');% 从屏幕接收判断矩阵[n,n]=size(A);% 计 MATLAB中为何无法进行cholesky分解 N=input('输入每个随机变量采样个数N=');L=zeros(2*91,N);for xx=1:1:2*91L(xx,:)=randperm(N);endpL=corrcoef(L);D=chol(pL) 取N为1,100等各种值,怎么都求不出D来,为什么啊