Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在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] 但没有显示任何变量。

另外两个问题:
  • 为什么即使我没有要求z的长度,函数仍返回“ ans 3”?
  • 如果有人可以为MATLAB脚本初学者推荐一本好书,我将不胜感激。

回答:

正如PeterAmro所说明的,您必须首先将数字值转换为格式化的字符串,以便显示它们或将它们与其他字符串连接在一起。您可以使用函数FPRINTFSPRINTFNUM2STRINT2STR进行此操作

关于将ans = 3作为输出,可能是因为您没有将answer的输出分配给变量。如果要获取所有输出值,则必须通过以下方式调用answer :

[out1,out2,out3] = answer(1,2); 这会将值d放入out1 ,将值e放入out2 ,将值f放入out3 。当您执行以下操作时:

answer(1,2) MATLAB将自动将第一个输出d (在这种情况下,其值为3)分配给默认工作空间变量ans

关于建议学习MATLAB的良好资源,您不应低估MATLAB文档的价值。我已经学会了自己使用它的大部分知识。您可以在线访问它,也可以使用DOCHELPHELPWIN函数在您的MATLAB副本中访问它。



更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 09:26


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.