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

我要写一个function,通过输入参数得到一个函数表达式的系数,然后输出这个函数表达式。我不知道再MATLAB中怎样直接实现,我只会用fprintf那样拼凑,比如fpr... 我要写一个function,通过输入参数得到一个函数表达式的系数,然后输出这个函数表达式。我不知道再MATLAB中怎样直接实现,我只会用fprintf那样拼凑,比如fprintf('x=%f cos %f t + %f sin %f t', a, b, c, d),(假设当a=b=c=d=2时)来实现输出x=2cos2t+2sin2t。
但是这样有明显的缺陷,比如如果a=0, b=c=d=2,我希望输出的函数表达式里直接不出现cos这一项,可是如果用fprintf这样硬拼凑,就会出现x=0cos2t+2sin2t。
所以我想请问在MATLAB中怎样实现直接输出一个函数表达式,谢谢!
展开
 我来答
百度网友516bd37
2011-10-23 · TA获得超过252个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:116万
展开全部
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)
>>
泡泡hhhhhhh
2018-03-30 · TA获得超过3098个赞
知道小有建树答主
回答量:0
采纳率:100%
帮助的人:0
展开全部

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

你对这个问题的看法有问题
经过这两个点的函数有很多,直线只是其中一个,
那么对于很多个点的坐标的话,函数表达式不是唯一的,你怎么确定呢?

如果你想要的是多项式函数,那就使用polyfit函数来拟合就行了!

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinasunsunsun
2011-10-23 · TA获得超过1.6万个赞
知道大有可为答主
回答量:5494
采纳率:75%
帮助的人:3616万
展开全部
电脑没那么聪明的~小改一下
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
追问
这个我也想到了,只是实际函数不止abcd这几个系数,我觉得挺麻烦的
你说电脑没那么聪明,意思就是MATLAB不能实现直接输出函数表达式是吧~就不能我把系数、自变量都设定清楚,然后通过某种机制直接输出吗?
追答
我想到了~
function x=myout(a,b,c,d)
syms x;
syms t;
x=a*cos(b*t)+c*sin(d*t);

你打下myout(0,1,1,1)试试~保证你满意~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
解家了待狂了5844
2011-10-23 · TA获得超过5.7万个赞
知道大有可为答主
回答量:2.9万
采纳率:1%
帮助的人:3988万
展开全部
请教如何实现输出的表达式中带有命令,比如y=1-normcdf(x)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式