![]() |
[求助]画函数图像
我是新手,遇到一个画函数图像的问题,函数是y=c*tanh(t1/x)/(t1-tc*tanh(t1/x)),
c、t1、tc都是已知数,但用plot(x,y);画不出图像,错误信息是: ??? Undefined function or variable 'x'. Error in ==> C:\MATLAB6p5\work\ebsnandT.m On line 5 ==> plot(x,y); 求各位大虾帮助以下,万分感激。 |
回复: [求助]画函数图像
你的变量x应该是要先赋值。
|
回复: [求助]画函数图像
谢谢了,我试试看。
|
回复: [求助]画函数图像
不要见笑,我是新手,我发现赋值后,x变为了常数。可是,我想画的是一个函数图像,x要从0变到100,赋值以后怎样使它能变化呢?
|
回复: [求助]画函数图像
linespase函数
x=linespace(0,F,100) %F表示你是怎样分从0到100% 或者其他的函数 多看看书,我们都在学~~~ |
回复: [求助]画函数图像
我也是新手,我给你写了下。但是显示矩阵维数不一致。
x=0:100; y=2*tanh(3/x)/(3-4*tanh(3/x)); plot(x,y) ??? Error using ==> mrdivide Matrix dimensions must agree. 你检查下你的函数看看。 |
回复: [求助]画函数图像
可以使用ezplot(待描绘函数)或者fplot(待描绘函数),前者有默认自变量范围。
|
回复: [求助]画函数图像
你这里y是一个单变量,而x是一个1*100维矩阵,当然矩阵不匹配了。。。
作如下改写: for i=1:100, y(i) = 2*tanh(3/i)/(3-4*tanh(3/i)); end plot(y); |
回复: [求助]画函数图像
对于这个函数,y=c*tanh(t1/x)/(t1-tc*tanh(t1/x)),
你首先需要赋值,也就是x的范围,比如你希望x从0,200,共分100个点,可以写成: x=linspace(0,200,100); 再带入计算。 如果是二维图象,也可以避免用for进行循环;例如,我们画正态分布曲线,f(x,y)=exp(-x^2-y^2); 如果你需要把x的范围设置在[-10,10],网格分100个点;y的范围设置在[-5,5],共50个点,你可以这样写: x=linspace(-10,10,100); y=linspace(-5,5,50); [X Y]=meshgrid(x,y);%建立二维网格 P=exp(-X.^2-Y.^2); contour(X,Y,P) |
回复: [求助]画函数图像
俺也在学,交流一下。刚才试验过了,小改一下你的写法可以用。
应为x=0:100是一位向量了,所以y中与x有关的运算符要改成.(算符),让向量元素单个进行运算,而不是整个向量一起做运算。 |
所有时间均为北京时间。现在的时间是 05:34。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.