![]() |
如何在MATLAB中将变量值放入文本字符串中?
我正在尝试编写一个简单的函数,该函数接受两个输入x和y ,并将它们传递给其他三个简单函数,这些函数将它们相加,相乘和相除。然后,main函数应将结果显示为包含x , y和总数的字符串。
我认为我对输出参数有些不了解。无论如何,这是我的(可怜)代码: function a=addxy(x,y) a=x+y; function b=mxy(x,y) b=x*y; function c=dxy(x,y) c=x/y; 主要功能是: function [def]=answer(x,y) d=addxy(x,y); e=mxy(x,y); f=dxy(x,y); z=[def] 如何将x , y , d , e和f转换为字符串?我尝试了不同的矩阵和类似的东西: ['the sum of' x 'and' y 'is' d] 但没有显示任何变量。 另外两个问题: [LIST][*]为什么即使我没有要求z的长度,函数仍返回“ ans 3”?[*]如果有人可以为MATLAB脚本初学者推荐一本好书,我将不胜感激。[/LIST] [B]回答:[/B] 正如[URL="https://stackoverflow.com/questions/2204579/getting-variable-values-into-a-text-string-matlab/2204594#2204594"]Peter[/URL]和[URL="https://stackoverflow.com/questions/2204579/getting-variable-values-into-a-text-string-matlab/2204631#2204631"]Amro所[/URL]说明的,您必须首先将数字值转换为格式化的字符串,以便显示它们或将它们与其他字符串连接在一起。您可以使用函数[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/fprintf.html"]FPRINTF[/URL] , [URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/sprintf.html"]SPRINTF[/URL] , [URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/num2str.html"]NUM2STR[/URL]和[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/int2str.html"]INT2STR进行此操作[/URL] 。 关于将ans = 3作为输出,可能是因为您没有将answer的输出分配给变量。如果要获取所有输出值,则必须通过以下方式调用answer : [out1,out2,out3] = answer(1,2); 这会将值d放入out1 ,将值e放入out2 ,将值f放入out3 。当您执行以下操作时: answer(1,2) MATLAB将自动将第一个输出d (在这种情况下,其值为3)分配给默认工作空间变量[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/ans.html"]ans[/URL] 。 关于建议学习MATLAB的良好资源,您不应低估MATLAB文档的价值。我已经学会了自己使用它的大部分知识。您可以[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/learn_matlab/bqr_2pl.html"]在线[/URL]访问它,也可以使用[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/doc.html"]DOC[/URL] , [URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/help.html"]HELP[/URL]或[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/helpwin.html"]HELPWIN[/URL]函数在您的MATLAB副本中访问它。 [url=https://stackoverflow.com/questions/2204579]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 04:57。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.