MATLAB, fprintf程序错误: 表达式或语句不正确--可能 (、{ 或 [ 不对称。

fid=fopen('test.txt','wt');fori=1:Nfprintf(fid,'curd%darc3wholert%s%srt%s%srt%s%s\n',... fid = fopen('test.txt','wt');
for i=1:N
fprintf(fid,'curd %d arc3 whole rt %s %s rt %s %s rt %s %s\n',i,
num2str(B(1,i)),num2str(A(3,i)),
num2str(B(2,i)),num2str(A(3,i)),
num2str(A(2,i)),num2str(B(3,i)) );
end
fclose(fid);
哪里不对?A,B都是3*n数组
展开
 我来答
tianxiawulang
推荐于2017-11-26 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2528万
展开全部

MATLAB的语句是以行为单位解释执行的,大多数语句不允许断为多行(少数情况下,例如输入数组,是允许分为多行输入的)。

 

所以,解决问题的最简单方法,就是把现在fprintf的4行语句合并为1行。

 

如果写成一行显得太长而不便于阅读,可以在换行前使用续行符(line continuation operator)来进行断行。MATLAB中的续行符由三个点组成(...),称为Dot-Dot-DotEllipsis,作用类似于C语言中的续行符“\”,即,只是从书写上分行,而当程序被编译或解释时,逻辑上认为没有分行。

 

MATLAB中使用 fprintf 输出分号并没有什么特殊的,直接在格式字符串最后的 \n 前面加上分号即可。

includevector
2014-08-12 · 超过26用户采纳过TA的回答
知道答主
回答量:55
采纳率:100%
帮助的人:40.4万
展开全部
不要换行,或者在换行后加..
追问
奥,知道了,那你知道怎么用MATLAB输出分号吗,最后的分号
curd 1 arc3 whole rt B(1,1) 0 rt B(2,1) 0 rt B(3,1) 0 ;
追答
你试试\;
我也没试过,不知道对不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式