查看: 101|回复: 2|关注: 0

[已解决] 符号函数数据结构

[复制链接]

新手

10 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
申明符号函数 syms f(x)  
如果已知f(x)=x^2-x-1,试求出f(f(f(f(f(f(f(f(f(f(x))))))))))。如果结果是多项式,试观察该多项式的最高次数。


程序如下:

>> syms x f(x)

f(x)=x^2-x-1;

y=f(f(f(f(f(f(f(f(f(f(x))))))))));

expand(y)

但是结果显示中“输出已截断。文本超出命令行窗口显示的行长度,最多为 25,000 个字符。”


老师提示:“用这样的显示方法是有问题的,因为不能显示全部信息,因为字符串的显示长度超过了预设的长度。可以考虑一种基于循环的显示方法,将整个字符串的全部内容显示出来。”

自己试过了编写循环,最后结果还是截断的。不知是否程序编写仍有问题,求教论坛的各位,望赐教。谢谢~

syms f(x);f(x)=x^2-x-1;for i=1:9y(1)=f(x);y(i+1)=f(y(i));endexpand(y(10))



回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

174 麦片

财富积分


50500


3

主题

121

帖子

23

最佳答案
QQ
  • 关注者: 2
发表于 2020-11-18 14:14:28 | 显示全部楼层 |此回复为最佳答案
syms x f(x)

f(x)=x^2-x-1;
你可以试试这个
y=f(f(f(f(f(f(f(f(f(f(x))))))))));
p = sym2poly(y);
for loop = 1:5
    q = length(p)-loop;
    disp([num2str(p(loop)),'*x^',num2str(q)])
end
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 5 天前 | 显示全部楼层
younshion 发表于 2020-11-18 14:14
syms x f(x)

f(x)=x^2-x-1;

看了您的回复总算是明白了老师说的利用循环显示是什么意思了。按教您给的代码,只要将循环加大即可给出整个多项式内容。非常感谢!:handshake
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /5 下一条

快速回复 返回顶部 返回列表