MATLAB中如何实现输出一个函数表达式

作者&投稿:策春 (若有异议请与网页底部的电邮联系)
MATLAB中如何实现输出一个函数表达式?~

要具体哦,如果一个自变量,函数图像就是曲线,用plot
如果是2个自变量,函数图像就是曲面了,如f=3*exp(-x-4*y),可以用以下表示。
f=@(x,y)3*exp(-x-4*y);
ezmesh(f)
你对这个问题的看法有问题
经过这两个点的函数有很多,直线只是其中一个,
那么对于很多个点的坐标的话,函数表达式不是唯一的,你怎么确定呢?
如果你想要的是多项式函数,那就使用polyfit函数来拟合就行了!

你这是拟合问题。
其一般做法是:
首先,观察离散点的性质,看它可能是什么函数表达式(具有较大的人为性,同一组数据,个人有个人的看法)。
其次,用这种函数表达式的一般形式去拟合,求出待定的系数。
最后,给出该函数表达式。
举个例子:
-------------------------------------------------------------------
%首先人为创造一套数据,
x=-2*pi:0.1*pi:2*pi;
num=length(x);
y=sin(x)+0.01*rand(1,num); %取函数y=sin(x)上的点,并加上一些随机扰动(可比拟观测误差)
[x;y]
plot(x,y,'r*',x,y,'b-') %画图查看观测点的性质,这里可以看出应该是正余弦函数
f=inline('a(1)*sin(a(2)*x+a(3))+a(4)','a','x') %故,采用sin函数的一般表达式y=A*sin(wx+a)+b 共4个参数 来拟合。
[a res]=lsqcurvefit(f,[1 1 1 1],x,y) %向量a就是这4个参数,res代表了和误差,可以看出,与真实还是比较接近的。

1、很简单啊.
2、比如我们输出一个函数f=A*sin(x)-B*exp(C*x)这种表达式,A,B,C是你输入的任何参数.
(1)你写上如下代码的M文件
function f=dispf(A,B,C)
syms x;
f=A*sin(x)-B*exp(C*x);
end
(2)现在你直接在命令窗口输入命令dispf就可以了,比如
>> dispf(12,36,78)
ans =
12*sin(x) - 36*exp(78*x)
>>

要具体哦,如果一个自变量,函数图像就是曲线,用plot
如果是2个自变量,函数图像就是曲面了,如f=3*exp(-x-4*y),可以用以下表示。
f=@(x,y)3*exp(-x-4*y);
ezmesh(f)



电脑没那么聪明的~小改一下
if(a==0 & c==0)
fprintf('x=0')
elseif(a==0)
fprintf('x=%f sin %f t', c, d)
elseif(c==0)
fprintf('x=%f cos %f t', a, b)
else
fprintf('x=%f cos %f t + %f sin %f t', a, b, c, d)
end

请教如何实现输出的表达式中带有命令,比如y=1-normcdf(x)


matlab中画序列的图形时如何将顶端的圆圈变成实心的
是用stem画图吗?附加一个参数 'filled' 就可以了:stem(rand(10,1),'filled')或者更简单点,只写首字母 'f' 就行:stem(rand(10,1),'f')

如何在matlab中实现对一个递推公式的求解,急求大神解答!!
把递推公式变形为 x(n) = 1.102\/(x(n-1)+1) - 0.102 设初值x(1)=0,则计算前30项的代码是 x=zeros(30,1); x(1)=0;for n=2:30, x(n) = 1.102\/(x(n-1)+1) - 0.102; end;stem(x)由图可见,经过几个周期的过渡过程后,x(n)趋近于一个常值0.5908。我试过把...

matlab如何实现图例的换行
就是关于标注位置的问题吧,我有个比较简单的方法。图像处理方面,MATLAB代码性比较强些,但是灵活性显然不足,比如相对Excel或Photoshop。作图时,我们没有必要拘泥于MATLAB软件,最好灵活些。对于你提的这个问题,我们可以利用MATLAB+画图软件搞定。给你举个例子吧!输入MATLAB程序画图 clear,clc a=1:5;...

请问用matlab如何实现如图中的双重积分?
一般来说,双重积分可以使用两次int()函数,求得其解析值。对于题主的问题,用此方法是否有点困难。但可以给出κ的范围值,求得其数值解,即κ—I(κ)的数值曲线,其方法可以利用for循环语句和quad2d函数得到I(κ)的值 求解过程如下:x=0:0.1:10; %κ for i=1:length(x)syms phi theta ...

matlabimwrite压缩图片-matlab中如何使用imwrite实现jepg压缩
matlab中的imwrite函数怎么用 imwrite函数用于保存图像,具体如下:1、保存到当前文件夹下:imwrite(I,'');2、保存到当前文件夹下的一个子文件result下:imwrite(I,'.\/result\/');3、保存到当前文件夹上一层的一个文件夹result下:imwrite(I,'..\/result\/');其中I为要保存图像,为文件名,保存为png格式...

matlab 如何实现从每行中任取一个元素,使得总和最小?
分析:矩阵中每行各取一个元素,使其和最小,那么如果每行都取的是该行的最小值的话,那么最后的和肯定也是最小的。所以只需找到每行的最小值即可。>> a=magic(10)a = 92 99 1 8 15 67 74 51 58 40 98 80 7 14 16 73 55 57 ...

matlab中如何换行?
在Matlab中进行换行的方式相对直接和简单,主要是通过回车或者特定的键盘快捷键来实现。一、明确答案 在Matlab中换行,可以通过以下几种方式实现:1. 使用回车键进行换行。2. 在编写代码时,使用三个连续的单引号开始多行字符串,并在每行的末尾自动换行。3. 使用MATLAB的编程环境特有的换行符或快捷键...

matlab的gui设计中如何实现函数的回调
1.BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。2.ButtonDownFcn属性:按钮按下时的处理函数。3.CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串...

matlab simulink中如何实现开方
在Simulink的 Math Operations 库中选择 Math Function 模块,然后在参数设置对话框中选择sqrt函数即可(如果不是开平方,选择pow函数)。

matlab函数赋值如何实现?
>> f=@(x,y)@(a) x^2+y^+a; >> f1=f(2,3) f1 = @(a)x^2+y^+a >> f2=f1(4) f2 = 85 每个@后的参数从它后面开始起作用,一直到表达式的最后。2.使用匿名函数实现符号函数的赋值运算 在老版本的Matlab中,这个功能是由inline函数完成的,现在用匿名函数完成此功能。比如...

新兴区17310606179: MATLAB中如何实现输出一个函数表达式? -
南凡跌打: 要具体哦,如果一个自变量,函数图像就是曲线,用plot 如果是2个自变量,函数图像就是曲面了,如f=3*exp(-x-4*y),可以用以下表示. f=@(x,y)3*exp(-x-4*y); ezmesh(f)你对这个问题的看法有问题 经过这两个点的函数有很多,直线只是其中一个, 那么对于很多个点的坐标的话,函数表达式不是唯一的,你怎么确定呢?如果你想要的是多项式函数,那就使用polyfit函数来拟合就行了!

新兴区17310606179: MATLAB中如何实现输出一个函数表达式我要写一个function,通过输入参数得到一个函数表达式的系数,然后输出这个函数表达式.我不知道再MATLAB中... -
南凡跌打:[答案] 1、很简单啊.2、比如我们输出一个函数f=A*sin(x)-B*exp(C*x)这种表达式,A,B,C是你输入的任何参数.(1)你写上如下代码的M文件function f=dispf(A,B,C)syms x;f=A*sin(x)-B*exp(C*x);end(2)现在你直接在命令窗口输入命...

新兴区17310606179: 在matlab中怎么可以得出输出函数? -
南凡跌打: function [Yq] = gmdhpredict(model, Xq) 其中model,Xq 是input arguments,Yq是output argument 并且在你的主程序中,你可以通过以下语句直接调用这个函数:Yq= gmdhpredict(model, Xq)

新兴区17310606179: MATLAB怎么输出一个函数值 -
南凡跌打: tmp=double(tmp); ZMax=max(max(I));后面也得加上 Zmax=double(Zmax); 就好了.另外你这个程序写的就是C代码,效率太低了啊..完全不是matlab的编法. 顺便给你程序优化了.这才是matlab程序,效率千差万别: I=double(I); ZMax=max(max(I)); ZMax=double(ZMax); iSize=size(I); TK=210;U=(I+ZMax-2*TK)./((2*ZMax-2*TK)); Umin = min(U,1-U); s=sum(sum(Umin)); D=2*s/(iSize(1)*iSize(2));

新兴区17310606179: matlab中怎样输出一个函数的值 -
南凡跌打: 因为你没有说明是什么具体的函数,我就以多项式函数为例吧! matlab中有个函数叫polyval,用来计算多项式在某点的函数值.示例程序: 我们有多项式:f(x)=3*x^2 + 2*x +1 计算此函数在x=5处的值的代码: p = [3 2 1]; polyval(p,5)

新兴区17310606179: 在matlab中如何输出一个函数的图像 -
南凡跌打: 利用imread函数可以完成图像文件的读取操作

新兴区17310606179: matlab中,如何让程序输出一个函数表达式.比如y=2*x,x=0:0.02:4,Y=3*y.我想让程序告诉我Y=6*x.而不是取步长0.02时候所有的数值.每次都是罗列一堆数值出来.如何得到表达式?
南凡跌打:定义x为符号函数啊~ x=sym('x');y=2*x;Y=3*y 输出结果就是 Y = 6*x

新兴区17310606179: 请问在Matlab中如何模拟一个函数呢?急,所有分都给您了 -
南凡跌打: 哥们告诉你.首先新建一个M文件.(其实在命令区直接输入也行) 然后就写代码:x=0:.1:20; k=自己设定的数; y=k*x; plot(x,y)

新兴区17310606179: 如何把matlab的一段程序做成一个函数 -
南凡跌打: 楼主是不是因为没有保存m文件,就去调用了. 之前我也遇到过这样的问题,修改之前的M文件里输出没有3个,修改了之后没有及时保存,就调用,易出现这样的问题.下面是我的示例: function [training_data,test_data,num ] = RandomData( data ) training_data=1; test_data=1; num=1; end 调用: >> [training_data,test_data,num ] = RandomData( data )training_data =1test_data =1num =1 结果正确.希望楼主.

新兴区17310606179: matlab中怎么在函数中输出一个变量 -
南凡跌打: 1、很简单啊. 2、比如我们输出一个函数f=A*sin(x)-B*exp(C*x)这种表达式,A,B,C是你输入的任何参数. (1)你写上如下代码的M文件 function f=dispf(A,B,C) syms x; f=A*sin(x)-B*exp(C*x); end (2)现在你直接在命令窗口输入命令dispf就可以

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网