你好 matlab这几句代码是什么意思?能帮我完整的解释一下吗?谢谢啦!

g=sprintf('\nNoweditthefunctionnamed"evaluate_objective"appropriatelytomatchyourneeds... g = sprintf('\n Now edit the function named "evaluate_objective" appropriately to match your needs.\nAfter editing do not forget to save. \n Press "c" and enter to continue... ');
x = input(g, 's');
if isempty(x)
x = 'x';
end
while x ~= 'c'
clc
x = input(g, 's');
if isempty(x)
x = 'x';
end
end
展开
 我来答
wangxue135250
2012-11-20 · 超过21用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:52.2万
展开全部
第一句话是给g赋一个字符串值,是一段文字,意思大概是:“现在编辑函数名为“evaluate_objective”的适当的满足您的需求的函数。编辑完成后不要忘记保存。”
input这一句,先输出一句话,即g代表的内容,然后用x来接受一个字符串;
接下来的if语句判断 如果输入的字符串是空的话给x赋值“x”
接下来while循环直到x字符串中包含“c”时结束,否则不断的重复input。clc是清除屏幕。
x~='c'的意思就是看看在x中是否能够查找到“c”,有的话是真,没有的话是假。
追问
你好x = input(g, 's'); 那个's'是代表字符串的意思对吗?
假如g是让编辑一个名为 "evaluate_objective"的函数的话,x接受的是一个字符串?还是接受的是一个函数呢?呵呵 这正是我困惑的地方!我下载这个代码 目前最大的困惑就是 怎么改目标函数了 貌似这个g和x是让输入目标函数的 但是我假如输入f(x)=ax+b,那x是不是会把这一串当成字符串接收了、就没有函数的功能了呢?谢谢啦!
追答
's'是input函数的一个参数,具体代表什么意思,你可以在命令窗口直接输入:help input来查看。
x接受的是input函数的返回值。返回什么接受什么。另外后半句没听懂你说什么?你想具体做什么?做一个什么样的函数?还是什么?
WindInice
2012-11-21 · TA获得超过155个赞
知道答主
回答量:106
采纳率:0%
帮助的人:71.1万
展开全部
看matlab帮助,'s'参数会让接收到的所有东西当文本串处理,就是不管你输入的是什么,都以字符串的形式赋给了x。
另外,就是你改成x = input(g); 也只能接收几种类型的输入,你的f(x)=ax+b是输不进去的,如果真想输入一个函数,也要输入一个f=@(x) a*x+b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式