请问我这个多项式表达的哪里有错/解决了
for i=1:256if i<32
N(i)=(-3/16)*i+8;
elseif 32<=i<64
N(i)= (-1/32)*i+3;
elseif 64<=i<96
N(i)=2;
elseif 96<=i<224
N(i)= (1/128)*i+1/4;
elseif 224<=i
N(i)= (1/32)*i-5;
end
end
我自己觉得没什么错误 但是总是得不到自己想要的结果
都出负数了
[ 本帖最后由 WSJ116522190 于 2007-6-14 23:19 编辑 ] oh ,my god ,这么多循环呀 我就是想画几条连接的线段
线总是按照第一个公式 从1画到256了 郁闷 你中间的转点怎么处理的?
else if 可以改为elseif,这样后面只要2个end 我怎么不能上传我的图啊
for i=1:256
if i<32
N(i)=(-3/16)*i+8;
elseif 32<=i<64
N(i)= (-1/32)*i+3;
elseif 64<=i<96
N(i)=2;
elseif 96<=i<224
N(i)= (1/128)*i+1/4;
elseif 224<=i
N(i)= (1/32)*i-5;
end
end
这样画出来的还是不对 前64个数都是对的
但是后面的数全错了
好象后面全是按照
32<=i<64
N(i)= (-1/32)*i+3;
这个公式算了
我有后面各个区间的公式呀
是不是哪里定义错了
[ 本帖最后由 WSJ116522190 于 2007-6-14 22:34 编辑 ] 原帖由 WSJ116522190 于 2007-6-14 22:24 发表 http://www.chinavib.com/forum/images/common/back.gif
前64个数都是对的
但是后面的数全错了
好象后面全是按照
32
记忆中,无论哪种编程语言均不支持 a<=x<b 的写法,请改为两个条件的“与”操作
请多阅读 matlab 基础书,了解 if 语句中表达式的写法。 当 0<X<32时 Y=-3/16X+8X
32<X<64 Y=-1/16X+3
64<X<96 Y=2
96<X<224 Y=1/128X+1/4
224<X<256 Y= 1/32X-5
就是想画这个小玩意 真是难倒了 就是这几天做毕业设计 手头也没什么书
马上毕业工作了 工作还是做市场的
我也不想深研究
哎 for i=1:256
if i<32
N(i)=(-3/16)*i+8;
elseif i>=32&&i<64
N(i)= (-1/32)*i+3;
elseif i>=64&&i<96
N(i)=2;
elseif i>=96&&i<224
N(i)= (1/128)*i+1/4;
else
N(i)= (1/32)*i-5;
end
end
plot(1:256,N);
[ 本帖最后由 spano 于 2007-6-14 23:10 编辑 ] 原帖由 spano 于 2007-6-14 23:00 发表 http://www.chinavib.com/forum/images/common/back.gif
for i=1:256
if i=32&&i=64&&i=96&&i
??? elseif i>=32 && i<64
|
Error: Expected a variable, function, or constant, found "&".
好象出错了
[ 本帖最后由 WSJ116522190 于 2007-6-14 23:16 编辑 ] spano谢谢了 成功了 &&改成1个 就好了 为啥不用while呢,这样看上去不用这么麻烦了 刚开始学时,也曾遇到分段画图的问题,开始和楼主的想法差不多,图是可以画出来,不过个人感觉比较麻烦,不是很满意。后来在网上找了一下,果然有高人,一下是个人找到的认为比较好的解决分段画图的方法,和大家分享一下。希望对大家有所启示,个人觉得里面的编程思想很值得学习。具体是那位高人给出的解答已经不记得了,希望高人不会生气。
问题是:
if x<-1&x>=-3
y=(-x.^2-4*x-3)/2;
elseif x>=-1&x<1
y=-x.^2+1;
else x<=3&x>=1
y=(-x.^2+4*x-3)/2;
分段函数画图,怎么做呢
【1】
clc;clear
x1=-3:0.01:-1;
x2=-1:0.01:1;
x3=1:0.01:3;
y1=(-x1.^2-4*x1-3)/2;
y2=-x2.^2+1;
y3=(-x3.^2+4*x3-3)/2;
x=;
y=;
plot(x,y)
【2】这个还算够用,罗嗦些。
clc;clear
x=-3:0.01:3;
y1=zeros(size(x));
y2=zeros(size(x));
y3=zeros(size(x));
N=length(x);
for k=1:N
if x(k)<-1&x(k)>=-3;
y1(k)=(-x(k).^2-4*x(k)-3)/2;
elseif x(k)>=-1&x(k)<1 ;
y2(k)=-x(k).^2+1;
else x(k)<=3&x(k)>=1 ;
y3(k)=(-x(k).^2+4*x(k)-3)/2;
end
end
y=y1+y2+y3;
plot(x,y)
页:
[1]