无效的表达式。检查丢失的乘法操作符,缺失或不平衡的分隔符,或其他语法错误。构造矩阵,用括号代替括号。

150(30天)
为什么MatLab不断告诉我这对我的程序吗?我需要一些帮助。
无效的表达式。检查丢失的乘法操作符,缺失或不平衡的分隔符,或其他语法错误。来
构造矩阵,用括号代替括号。

接受的答案

约翰D 'Errico
约翰D 'Errico 2020年2月29日
编辑:约翰D 'Errico 2020年2月29日
已经说过,这条线已经无效的MATLAB代码:
Ta = Tinf + (Tb-Tinf) cosh (m (L-xa)) / cosh (m * L);
你需要了解MATLB运营商。如果你不使用它们,那么你的代码不能工作。MATLAB不仅承担乘法当没有*操作符。事实上,它假设您正试图做点别的,然后tiries理解你写什么。
这是什么意思?你显然想把sub-terms m和(L-xa)。我声称,因为米似乎是一个常数。MATLAB的m (L-xa)意味着乘法?当然不是。MATLAB不能读取你的思想。相反,它看着表情,认为,嗯。m是一个变量。我想他们要我指数变量m,因此找到元素索引(L-xa)。毕竟,你告诉你,说你有一个错误 “数组索引必须是正整数或逻辑值。”
如果你知道你想乘,然后使用*。*合适!不要问MATLAB读取你的思想。
同样,这是什么意思?
(Tb-Tinf) cosh (m (L-xa))
你想乘(Tb-Tinf)和cosh (m (L-xa)) ?你用*。* ?MATLAB应该知道你想要什么?它应该阅读你介意吗?不。(好吧,有些人认为它应该,但电脑并不聪明,还没有。我甚至不确定我希望他们是聪明。)
查看错误消息。它说什么了?点之间的点两个括号的表达式。(如果你解决这个问题,那么它将克服这一点,将下一个开始抱怨,但是它失败之前,目前youtr代码。)
那么你应该修改这条线吗?使用运营商当你想用的东西!毕竟,你知道你需要使用/当你想分裂,+当你想添加,-当你想减去。乘法是运营商的二等公民吗?
Ta = Tinf + (Tb-Tinf) * cosh (m * (L-xa)) / cosh (m * L);
最后,确保你知道*。*之间的区别,^,^,/,/,如果涉及向量和数组,否则你的下一个问题将会再次成为我的代码为什么不工作。
8的评论
史蒂文的主
史蒂文的主 2022年1月7日
既然你新MATLAB,我建议你开始自由MATLAB斜坡弯道教程(//www.tatmou.com/support/learn-with-matlab-tutorials.html)快速学习MATLAB的必需金宝app品。

登录置评。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2020年2月28日
MATLAB完全没有隐式的乘法。(一)B是从未在MATLAB有效。
在MATLAB (B)总是显示索引或函数调用,从不乘法。你米(L-xa)要么是索引位置L-xa或者是调用函数米。这并不意味着m乘以L-xa
每一个 在MATLAB如果你想把两个值,您需要使用。*中的元素的乘法操作符,或为代数矩阵乘法*操作符(内积)
5个评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年3月1日
Ta = Tinf + (Tb-Tinf) cosh (m (L-xa)) / cosh (m * L);情节(xa,助教,“好吧”,“线宽”,1)
你会到处跟着我的指令将。*乘法的目的是,然后是不要求你的意图是什么表达(Tb-Tinf) cosh (m (L-xa))之间如果没有乘法(Tb-Tinf)和cosh (m (L-xa)) ?和你的意图是什么表达m (L-xa)如果你无意之间的乘法m和(L-xa) ?

登录置评。

类别

找到更多的在调整和重塑矩阵帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!