感悟网 导航

matlab函数问题与函数输出图像 matlab如何用out输出图像

作者&投稿:空阀 (若有异议请与网页底部的电邮联系)
在matlab中如何输出一个函数的图像~

imwrite函数用于输出图像,其语法格式为:
imwrite(X,map,filename,fmt)
imwrite(X,map,filename,fmt)按照fmt指定的格式将图像数据矩阵X和调色板map写入文件filename。

因为程序,只运行了t=-10时,就结束了。所以结果是为-1,画出来就是一条直线。

你应该采用循环方式,来进行。你可以将执行命令改成下列形式,就可以达到你的目的。

t=-10;

while t<=10;

fg=u(t-2);

plot(t,fg,'r*');hold on

t=t+0.1;

end

axis([-11 11 -1.5 1.5])



这小段代码问题太多了,简直把我能想到的错误都犯全了....... -_-||||

1、linspace取点太少,只有两个点,无论怎么算都只能得到直线;
2、if语句不适合使用向量作为判断条件,因为只有向量所有元素都为真的时候才会执行;
3、关系运算不能连写,例如60<=v<100的含义并不是(60<=v)&&(v<100),而是(60<=v)<100,显然,表达式(60<=v)作为关系运算,得到的结果或0或1,肯定是小于100的,所以(60<=v)<100的结果为真,因而,会直接执行if的第一个分支,后面的都不可能被执行到。
4、MATLAB中有elseif关键词,尽管也可以用else if,但更推荐前者;
5、最后else的s算是什么?

正确写法之一(使用for循环)
v=linspace(60,120,61);for i=1:length(v) if 60<=v(i) && v(i)<100 c(i)=24000.*v(i)./55; elseif v(i)==100 c(i)=24000.*v(i)./80; elseif 100<v(i) && v(i)<=120 c(i)=24000.*v(i)./105; else c(i)=-5; endendplot(v,c);
正确写法之二(使用向量运算)
v=linspace(60,120,61);c=ones(size(v))*5;c(60<=v&v<100)=24000*v(60<=v&v<100)/55;c(v==100)=24000*v(v==100)/80;c(100<v&v<=120)=24000*v(100<v&v<=120)/105;plot(v,c);

《在matlab中如何输出一个函数的图像》
答:利用imread函数可以完成图像文件的读取操作

《Matlab怎么画出自己定义的函数的图像?》
答:题主的问题实际上就是解带积分的方程。解此类方程可以优先考虑用vpasolve函数。对于已知f(x)为一系列值,则可以考虑用for循环语句,求出相应的x值。根据x、y的数值,用plot函数绘出其x—f(x)的关系曲线图。代码与结果

《matlab的ezplot函数问题》
答:关于ezplot的问题,我进行了下面的测试:首先,打开ezplot的帮助,在命令窗口中输入:doc ezplot,如下图所示:注意到其中提示:ezplot is not recommended. use fplot instead.下面比较ezplot 与 fplot 代码如下:close all;figure;subplot(2,1,1);ezplot(@(t)10.*cos(pi.*2000.*t+pi./6),[-2...

《matlab GUI-图像输入与输出的简单例子》
答:通过一个简单例子介绍图像输入与输出的操作,给自学者参考借鉴。 1.创建一个新的空白的GUI。这个例子会用到静态文本、按钮、坐标轴和面板。先在界面中拖入一个静态文本,将其属性中的“string”一栏改为“输入输出图片示例”,字体大小调为20,如下图。 2.在界面中拖入两个面板,然后将两个面板的“string”一栏分别...

《如何用matlab绘制函数关系图?》
答:D=2;G=4.5;T=3:60;for k=1.01:0.01:1.1 y=D./((k-1)*G*T);plot(T,y);hold on end grid on figure;D=2;T=20;k=1.02:0.01:1.4;for G=1:10 y=D./((k-1)*G*T);plot(k,y);hold on end grid on 备注:grid on是显示网格的意思。你如果要往图上加字,在...

《matlab中作自定义函数的图,matlab作图问题》
答:你确认是这段程序直接贴过来的吗?我怀疑是e=0.1r=5.0 这里少了个分号 我运行了一下你的程序,出错的原因是矩阵除法格式不对。改正方法是直接用数代入求值,如下:(函数不用变)a=1.5:0.1:2.5;for i=1:11 s(i)=AP2fun(1.4+0.1*i);end plot(a,s);这样就可以画出正常的图来...

《matlab输出函数图像的一个问题,》
答:clear a=0:0.1:2*pi;if 0<a<=pi;H=60*a/pi;else if pi<a<1.5*pi;H=180-120*a/pi;else 1.5*pi<a<2*pi;H=0;end end figure plot((150+H).*sin(a),(150+H).*cos(a));

《如何用matlab画二次函数图像》
答:1、数据式 x=[-1:0.01:1]; %这是定义域,x从-1到1,步长是0.01,也就是x=-1,-0.09,-0.08,……,1。你可以根据需要自己改。y=2*x.^2+x.+1; %表示y=2x^2+x+1,你也可以自己修改。plot(x,y); %作图 2、符号函数式 ezplot('2*x^2+x+1')%作图y=2*x...

《matlab中怎么实现这样一个分段函数的图像输出》
答:clc,clear;close alla=(1:10)/5; %a改成你自己的x=0:0.01:10;for i=1:10 x_temp=x((i-1)*10+1:i*10); S=(x_temp-(ones(1,10)*a(i)).^2); plot(x_temp,S) hold onend

《matlab输出函数图像的一个问题》
答:帮你改好了,你看一下吧 a=0:0.1:pi;plot((150+60*a/pi).*sin(a),(150+60*a/pi).*cos(a));错误原因是因为矩阵不能简单地相乘,如果是要两矩阵相对应的元素相乘的话,只能用“点乘”,也就是“.*”。

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网