MATLAB如何把计算出来的多项式输出?

在做一个拉格朗日插值多项式的程序,最后不是算出结果,而是把计算出来的多项式显示出来,不知道怎么输出中间有这么一段程序:fori=1:nt=1;forj=1:nifj~=i... 在做一个拉格朗日插值多项式的程序,最后不是算出结果,而是把计算出来的多项式显示出来,不知道怎么输出
中间有这么一段程序:
for i=1:n
t=1;
for j=1:n
if j~=i
t=t*(x-xx(j))/(xx(i)-xx(j));
end
end
s=s+t*yy(i);
end
这里循环出来的公式是我想要显示的
展开
 我来答
微雨去尘
高粉答主

2015-12-04 · 说的都是干货,快来关注
知道大有可为答主
回答量:1万
采纳率:91%
帮助的人:1799万
展开全部
比如我们输出一个函数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)
追问
试了一下,还在做调试,确实能输出
雾雨家扫把娘
2018-03-09 · TA获得超过134个赞
知道答主
回答量:67
采纳率:0%
帮助的人:32.8万
展开全部
function s = poly_printf(p)
if nargin > 1
    error('too much input arguments !');
end
while p(1) == 0
    p(1)=[];
end
l = length(p);
if l == 0
    s = '0';
elseif l == 1
    s = num2str(p(1));
elseif l == 2
    if p(1) == 1
        s = strcat('x+(',num2str(p(2)),')');
        % 要考虑系数为负的情况,为了减少if嵌套的层数,干脆统一在系数上加括弧
        % 防止出现‘+-’这种错误的表达式
    else
        s = strcat(num2str(p(1)),'*x+(',num2str(p(2)),')');
    end
elseif l > 2;
    for i = 1:l
        if i == 1
            if p(i) == 1
                s = strcat('x.^',num2str(l-i));
                % x一般为向量,故这里一定要使用.^ 否则会识别为矩阵乘法
                % 并返回错误
            else
                s = strcat(num2str(p(i)),'*x.^',num2str(l-i));
            end
        elseif i == l
            s = strcat(s,'+(',num2str(p(i)),')');
        elseif i == l-1
            if p(i) == 0;
                s = s; %此行无用,仅为提高代码可读性
            else
                s = strcat(s,'+(',num2str(p(i)),')','*x');
            end % if完之后一定要记得加end啊!
        else
            if p(i) == 0
                s = s; %此行无用,仅为提高代码可读性
            elseif p(i) == 1
                s = strcat(s,'+x.^',num2str(l-i));
            else
                s = strcat(s,'+(',num2str(p(i)),')','*x.^',num2str(l-i));
            end
        end
    end
end

这是我自己写的多项式输出函数,输出格式不太标准,但是这个是可以用eval重载的

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式