| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9566 人关注过本帖
标题:matlab菜鸟提问,画分段函数的曲线,请大家帮助,急
取消只看楼主 加入收藏
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
 问题点数:0 回复次数:12 
matlab菜鸟提问,画分段函数的曲线,请大家帮助,急
毕业论文题目, 做一个分段函数曲线。刚刚接触matlab,照葫芦画瓢,没画好,请大家指点。
clear;
n=input('请输入斜面模数的值:');
%输入x1到x2n-1的值,暂定斜面数n为10
x1=input('请输入x1的值:');
x2=input('请输入x2的值:');
x3=input('请输入x3的值:');

%输入斜面倾角的值
angle1=input('请输入斜面倾角1的值:');
angle2=input('请输入斜面倾角2的值:');

%输入送进量的值(m)
s=input('请输入送进量的值:');

%坯料曲线
x=0:10000;
if(0<x&x<x1)
y=tan(angle1)*x;
plot(x,y,'r-'),hold on
elseif(x1<x&x<x2)
y=tan(angle1)*x1;
plot(x,y,'r-'),hold on
end

x1 、x2、angle1都是由用户输入。可是执行的时候,并不画图。请教这个分段函数该怎么写才正确
搜索更多相关主题的帖子: matlab 曲线 input 函数 斜面 
2006-06-12 10:46
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 

谢谢你的回答:)

在一个for语句里添加if字段不行么?原来的程序为什么错误呢?

2006-06-12 14:40
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 
还有。 画出的图,为什么y的值都是负的呢?这样,得出的曲线变化范围就不对了呀

超超菜鸟。问的简单,见笑了。
2006-06-12 14:45
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 
没错。输入的是30。嘿嘿
那分段函数,不可以在一个for语句中实现么?
另外,如果用for x=0:0.1:x1,那得出的曲线上,曲线是虚线,如果设置步长小些,如0.01,可以得到实心曲线,不过画图的速度实在很慢。

对于一个画图程序
x=1:10;
y=sin(x) ;这个程序来讲,虽然步长是1,但是画出的曲线就是实心的。我要这个程序里y随x变化的曲线是连续的实心线。是不是可以不把x的范围放到for语句里去设定?
2006-06-12 15:53
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 
再问:

把两段曲线画在一个图框内,第一个曲线,根据上面的for语句可以画出来,但是第二个曲线,x坐标的范围和第一个曲线相同。只是当x在不同范围的时候,y的值不同。例如
for x=0:0.1:10000
if x>0&x<s
y=c-t
elseif x>s&x<s+x1
y=tan(angle1)*c
end
end

这个曲线又怎样和上述 所说的第一个曲线在一个坐标系内画出来呢???
2006-06-12 16:30
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 
谢谢你

把两段曲线画在一个图框内,第一个曲线,根据上面的for语句可以画出来,但是第二个曲线,x坐标的范围和第一个曲线相同。只是当x在不同范围的时候,y的值不同。例如
for x=0:0.1:10000
if x>0&x<s
y=c-t
elseif x>s&x<s+x1
y=tan(angle1)*c
end
end

这个曲线又怎样和上述 所说的第一个曲线在一个坐标系内画出来呢???

这个问题呢? 头大了。最关键的问题
2006-06-12 17:00
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 
不知道引用怎么用的。不过
for x=0:0.1:10000
if x>0&x<s
y=c-t;
plot(x,y);
elseif x>s&x<s+x1
y=tan(angle1)*c;
plot(x,y);
end
end
这样不行呀。因为是两条曲线。s有可能大于x1。两条曲线,第一条的x是在0到x1之间变化,第二条的x是在0到s,s到s+x1的区间变化。这两条曲线,每个阶段的曲线表示方法是不一样的。 不能简单用上述过程来描述
2006-06-12 17:14
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 
看了一下书,plot(x,y,x1,y1)这个是可以在一个坐标系里画两条曲线的。不过对于x和x1可以分段取值的这个,在程序里不知道怎么表示比较好。
2006-06-12 17:24
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 
实际上就是要求两个分段函数曲线在一个坐标系里画出的问题。

2006-06-12 17:28
beyond8820
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-12
收藏
得分:0 
不会做。。。。。。。。。。。matlab不是两天就能看会的。。。。。。。
2006-06-12 18:00
快速回复:matlab菜鸟提问,画分段函数的曲线,请大家帮助,急
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024806 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved