我用MATLAB绘图时,横坐标为X=[1,.,100],每个X(i)对应的Y(i)类似于[2;3],程序如下:
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 15:07:15
我用MATLAB绘图时,横坐标为X=[1,.,100],每个X(i)对应的Y(i)类似于[2;3],程序如下:
初学者向各位大侠请教,程序说明,先求出每个X(i)对应的Y(i),存起来,再绘图:
e1=1/sqrt(2).*[sqrt(0.5),sqrt(1.5);-sqrt(0.5),sqrt(1.5)]*[-0.4326;-1.6656];
e2=e1+[0.875;0];
c(1)=[-1;-1];
a(1)=[1;1];
t=[0;0];
B=[1,0;0,1];
Y=zeros(1,100);
for i=1:20
y(i)=a(i)+B*c(i)+e1;
a(i+1)=0.1.*(y(i)-B*c(i))+0.9.*a(i);
c(i+1)=B*(t-a(i+1));
Y(1,i)=y(i)
end
for i=21:100
y(i)=a(i)+B*c(i)+e2;
a(i+1)=0.1.*(y(i)-B*c(i))+0.9.*a(i);
c(i+1)=B*(t-a(i));
Y(1,i)=y(i)
end
X=1:100;
plot(X,Y);
grid on;
老出现?In an assignment A(I) = B,the number of elements in B and
I must be the same.的错误.
初学者向各位大侠请教,程序说明,先求出每个X(i)对应的Y(i),存起来,再绘图:
e1=1/sqrt(2).*[sqrt(0.5),sqrt(1.5);-sqrt(0.5),sqrt(1.5)]*[-0.4326;-1.6656];
e2=e1+[0.875;0];
c(1)=[-1;-1];
a(1)=[1;1];
t=[0;0];
B=[1,0;0,1];
Y=zeros(1,100);
for i=1:20
y(i)=a(i)+B*c(i)+e1;
a(i+1)=0.1.*(y(i)-B*c(i))+0.9.*a(i);
c(i+1)=B*(t-a(i+1));
Y(1,i)=y(i)
end
for i=21:100
y(i)=a(i)+B*c(i)+e2;
a(i+1)=0.1.*(y(i)-B*c(i))+0.9.*a(i);
c(i+1)=B*(t-a(i));
Y(1,i)=y(i)
end
X=1:100;
plot(X,Y);
grid on;
老出现?In an assignment A(I) = B,the number of elements in B and
I must be the same.的错误.
你的维数越界了,一维变量不能存储二维数组,你必须把数组维数升级,或者用元胞,我帮你把数组升维了,运行出来结果应该是二维的Y,所以画出来是会有两条线,当然你可以分开画,好看清哪条对应什么.具体程序如下:
clear;
clc;
e1=1/sqrt(2).*[sqrt(0.5),sqrt(1.5);-sqrt(0.5),sqrt(1.5)]*[-0.4326;-1.6656];
e2=e1+[0.875;0];
c(:,1)=[-1;-1];
a(:,1)=[1;1];
t=[0;0];
B=[1,0;0,1];
Y=zeros(1,100);
for i=1:20
y(:,i)=a(:,i)+B*c(:,i)+e1;
a(:,i+1)=0.1.*(y(:,i)-B*c(:,i))+0.9.*a(:,i);
c(:,i+1)=B*(t-a(:,i+1));
%Y(1,i)=y(i)
end
for i=21:100
y(:,i)=a(:,i)+B*c(:,i)+e2;
a(:,i+1)=0.1.*(y(:,i)-B*c(:,i))+0.9.*a(:,i);
c(:,i+1)=B*(t-a(:,i));
%Y(1,i)=y(i)
end
Y = y;
X=1:100;
plot(X,Y);
grid on
为避免被拉去审核,就不贴图了,自己运行吧
有问题欢迎追问,
copyright@cxd1301
再问: 谢谢您的帮助,运行程序没有问题,可是图跑出来好像不对,也许是我的N生成错了:N be a 2*1 vector of independent standard normal deviates(N~(0 I),0和I都是黑体),generating 2 random standard normal deviates as the elements of vector N。用matlab咋生成N 啊?我用的是normrnd,可运行出来不对啊。也就是上面的百分号内的数组e1=1/sqrt(2).*[sqrt(0.5),sqrt(1.5);-sqrt(0.5),sqrt(1.5)]*%[-0.4326;-1.6656];%
再答: 不明白你到底要干嘛,问问题前最好自己先分析清楚你的需求是什么,什么问题没有解决。帮你的不可能帮你看每个那么长的程序是做啥的。只能帮你解决存在的问题。 估计你是要产生标准正态分布,可以自己help randn
clear;
clc;
e1=1/sqrt(2).*[sqrt(0.5),sqrt(1.5);-sqrt(0.5),sqrt(1.5)]*[-0.4326;-1.6656];
e2=e1+[0.875;0];
c(:,1)=[-1;-1];
a(:,1)=[1;1];
t=[0;0];
B=[1,0;0,1];
Y=zeros(1,100);
for i=1:20
y(:,i)=a(:,i)+B*c(:,i)+e1;
a(:,i+1)=0.1.*(y(:,i)-B*c(:,i))+0.9.*a(:,i);
c(:,i+1)=B*(t-a(:,i+1));
%Y(1,i)=y(i)
end
for i=21:100
y(:,i)=a(:,i)+B*c(:,i)+e2;
a(:,i+1)=0.1.*(y(:,i)-B*c(:,i))+0.9.*a(:,i);
c(:,i+1)=B*(t-a(:,i));
%Y(1,i)=y(i)
end
Y = y;
X=1:100;
plot(X,Y);
grid on
为避免被拉去审核,就不贴图了,自己运行吧
有问题欢迎追问,
copyright@cxd1301
再问: 谢谢您的帮助,运行程序没有问题,可是图跑出来好像不对,也许是我的N生成错了:N be a 2*1 vector of independent standard normal deviates(N~(0 I),0和I都是黑体),generating 2 random standard normal deviates as the elements of vector N。用matlab咋生成N 啊?我用的是normrnd,可运行出来不对啊。也就是上面的百分号内的数组e1=1/sqrt(2).*[sqrt(0.5),sqrt(1.5);-sqrt(0.5),sqrt(1.5)]*%[-0.4326;-1.6656];%
再答: 不明白你到底要干嘛,问问题前最好自己先分析清楚你的需求是什么,什么问题没有解决。帮你的不可能帮你看每个那么长的程序是做啥的。只能帮你解决存在的问题。 估计你是要产生标准正态分布,可以自己help randn
我用MATLAB绘图时,横坐标为X=[1,.,100],每个X(i)对应的Y(i)类似于[2;3],程序如下:
matlab 绘图 y=x^3 x范围(-1,1) 求关于x导数 e的-t^2次方
matlab 求y=sin(x)*cos(2x)在区间(0,10)之间所有两点对应横坐标
我用ezplot作曲线,程序如下:syms x y;ezplot('5*x^2-y^3+2*x^3');怎么提取出对应的
编写一段MATLAB程序,绘制出二元函数z=2sinxsinyy/xy三维网格线图,要求如下:(1)x,y的取值范围为-
matlab的三维绘图,方程为x^2-y^2-4*(z^2)=4,只知道画出来是个双叶双曲面.
用matlab绘制z=e/(x*y^2)的图像的程序.
求方程组x^2+y^2=1','x*y=2的解的matlab程序(使用solve)
直线a与直线y=2x+1的交点的横坐标为2,与直线y=-x+2的纵坐标为1,求直线a对应的函数解析式?(要过程)
求高手用 MATLAB 编写一个程序,求以x,y为自变量的函数f(x,y)的值,f(x,y)定义如下
matlab绘图疑问 x=0:0.01:40; y=x.^3-60*x.^2+900*x+100; plot(x,y,'
直线l:y=x+a(a不为0)和曲线C:y=x^3-x^2+1相切,求切点坐标及a的值.我用求导的方法求出切点横坐标有两