我有一个代码,但一直说“无效的表达式。当索引调用一个函数或一个变量,使用括号。否则检查不匹配的分隔符。

2461(30天)
F = [];
一个= [];
f = 0:200:1800
F = (F, F);%在赫兹
f0 = 500;%在赫兹
f1 = 1500;%在赫兹
N = 20;
一个= 0:5:25
= abs ((* sin(π(f-f0) * N))) / (sin(π(f-f0)))) + abs ((* sin(π(f-f1) * N))) / (sin(π(f-f1))));
一个= [A];
结束
情节(F)
12个评论

登录置评。

接受的答案

月神
月神 2018年11月15日
编辑:月神 2018年11月15日
嗨Roolientha,
表达式是无效的,因为你不是paranthesis用括号调用函数的罪。
罪[. .]%与paranthesis检查和改正
罪(. .)%因为罪是一个函数像abs、情节等
7评论

登录置评。

更多的答案(7)

里克
里克 2018年11月15日
编辑:里克 2018年11月15日
您正在使用方括号函数的罪,而不是括号。同样,你失踪很多迹象。你应该检查四个成分确实是你需要的在下面的行中。
= abs((*罪(π* (f-f0) * N))) /罪(π* (f-f0)) + abs ((a * sin(π* (f-f1) * N))) /罪(π* (f-f1));
这里有另一个问题:你想画一个F,但将有6 F的值为每个值,因为第一个转让。
可以加速这个先修复这些向量的动态增长预分配,它应该也可以完全消除循环一旦你的代码,你打算做什么。
2的评论
里克
里克 2018年11月15日
你复制线完全按照我发了吗?因为我在这条线没有错误。绘图时我有一个错误,因为你还没解释你如何想要扩展F有足够的价值。下面的代码假定你想重复F的值。
F = 0:200:1800;%在赫兹
f0 = 500;%在赫兹
f1 = 1500;%在赫兹
N = 20;
一个= 0:5:25;
= 0(元素个数(A),元素个数(F));
n = 1:元素个数(F)
f = f (n);
= abs((*罪(π* (f-f0) * N))) /罪(π* (f-f0)) + abs ((a * sin(π* (f-f1) * N))) /罪(π* (f-f1));
(:,n) = A;
结束
情节(F)

登录置评。


史蒂文的主
史蒂文的主 2018年11月15日
如果你在编辑器中编辑此代码以外的MATLAB编辑,我建议你复制粘贴到MATLAB编辑器。如果你有 代码分析器 在偏好中启用(默认启用了)你应该看到一个编辑器窗口的右上角的红色广场和几个颜色的线(三个橙色,一个红色)。橙色线表示的地方您的代码应该工作,但是代码分析器有一个建议,可以提高其鲁棒性和/或性能。红线显示的代码行,其分析表明错误,将阻止您的代码的运行。单击红线将光标线问题,疑似错误应强调的地方。
如果你悬停在强调疑似错误(或警告),你会得到一些额外的信息,可以帮助您理解的建议或错误。在这种情况下,有一次我修好了 罪[…] 部分仍有一个错误。计数,不匹配的括号。这里我写数字下面代码中括号的位置。无论我看到(我数加1,无论我看到一个)我减去1。
= abs ((* sin(π(f-f0) * N))) / (sin(π(f-f0)))) + abs ((* sin(π(f-f1) * N))) / (sin(π(f-f1))));
12 3 4 3 1 2 3 210 * 210
*表示1,我看到更多的闭括号比开括号。删除,并继续指望这行代码。
1评论
Merve Ozkanat
Merve Ozkanat 2022年10月3日
嗨我得到同样的错误,你能帮我吗?
我想创建一个yxoordinat向量(11 x1)从一个矢量d值。
d是一个向量与363年值。
d(二自由度陀螺仪)=博士;% d是一个[1]363年向量与价值观。
ycoordinat = 0(11日1);
i = 56:66
s = 1:11
ycoordinat[年代,1]= d((张)* 3 + 1)% d((张)* 3 + 1)的价值应放到一个向量。
结束
结束
但它说:“无效的表达式。当索引调用一个函数或一个变量,使用括号。否则,检查不匹配的分隔符”。

登录置评。


阿雅纳比尔
阿雅纳比尔 2020年5月19日
编辑:阿雅纳比尔 2020年5月19日
无效的表达式。当索引调用一个函数或一个变量,使用括号。否则,检查不匹配的分隔符
问题是什么?
它总是显示了这个代码我这个评论
线:1列:23
[t、c] =数值(“prob5_16”[0,6],[0.2]);
clinear = 0.2 + 0.111 * (1-exp (- t / 1.11));
情节(t、c、t, clinear) gridxlabel (“时间”)ylabel (“浓度”)> >标题(5.16解决问题的);
3评论

登录置评。


Tahlia琼斯
Tahlia琼斯 2021年3月20日
[2 * 3 ^ 12 [cos140 + sin140] / (5 + 3) ^ 3 (2 + 3); [cos-60sin-60]] - (3-5i) 3/25
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年3月20日
MATLAB已经 没有 隐含的乘法。你必须把每一个乘法操作符。
在MATLAB函数调用必须有()的参数如罪(π/ 3)
MATLAB罪恶,因为操作是在弧度但有信德()和cosd ()
记得把在分母,涉及表达式()A / B * C (A / B) * C不是/ (B * C)

登录置评。


阿里sh
阿里sh 2022年1月31日
μ= mu0 *(1 +ω* (3 - (n2) ^ 2);
无效的表达式。当索引调用一个函数或一个变量,使用括号。否则,检查不匹配
分隔符。
1评论
史蒂文的主
史蒂文的主 2022年1月31日
你有三个左括号(但只有两个右括号)。因此你有在你的括号不匹配。你需要一个),但这取决于你想计算。

登录置评。


Jobin Geevarghese Thampi
Jobin Geevarghese Thampi 2022年3月17日
编辑:沃尔特·罗伯森 2022年3月17日
functiomk =总结(n)
(行坳)= (n)大小;
k = 0;
2 = 1:行
jj = 1:坳
如果(二世,jj) > = 5 & & (ii, jj) < = 18
k = k + n (ii, jj);
结束
结束
结束
文件:总结。m: 6列:15
无效的表达式。当调用一个函数或者变量索引,使用括号。否则,请检查
不匹配的分隔符。

Kamilu撒努斯
Kamilu撒努斯 2022年5月2日
编辑:沃尔特·罗伯森 2022年5月2日
你好,请我在一个类似的问题,我需要帮助。我得到的是“无效的表达式。当索引调用一个函数或一个变量,使用括号。否则,检查不匹配的分隔符”
并指着35行2列
这是代码:
清晰的所有
clc
%的用户界面弹出窗口
提示= (“权力Input_Bus1 (p.u):“,“Z_1 (p.u):“,“Z_12 (p.u):“,“Load_Bus2:”,“V2:”,的部件MVA基地:);
dlg_title =“功率流分析”;
defaultans = (“1.06 + 0我”,“我”,0.2我的,“1.6 + 0.20我”,“1 + 0”,“100”);
num_lines =[(大小(defaultans '))的(大小(defaultans ')) * 50);
回答= inputdlg(提示、dlg_title num_lines defaultans);
%阅读所有输入和改变字符串数值
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * %
v1 = str2num(回答(1));%读输入功率V1
Z_1 = str2num(回答(2));%读输入z1阻抗
Z_12 = str2num(回答(3));%读输入z12阻抗
L_B2 = str2num(答案(4));%读负载总线输入s2
v2 = str2num(答案(5));%读取电压2 v2
pubase = str2num(答案(6));% PU MVA基地
% Variales宣布
另外%转换阻抗
G1 = 1 / Z_1%自我电抗
日元= 1 / Z_12
%确定载荷P(真正的)和Q(图像放大)值
s2 = 1 * L_B2,
p2 =实际(s2);
q2 =图像放大(s2);
%创建总线导纳矩阵
y = [(G1 +日元)-(日元);-(日元)(日元)];
使用高斯siedel %负载流量计算
n = 1% n y循环声明
n > 0.00001
v2e = (((p2 - (q2) * i) /连词(v2)) +日元* v1) /日元;
e2 = abs (v2e-v2);
v2 = v2e;
em = (e2);
n = max (em);
结束
% s1计算
s1 = v1 * (v1 * (G1 +日元)-(日元* v2));%松弛总线apparaent权力
P1 =实际(s1);
Q1 =图像放大(s1);
%确定线流和损失
I12日元= * (v2 v1);
I21 = -I12;
%线流
s12 = v1 *连词(I12);
s21 = v2 *连词(I21);
%线损失
slose_12 = s12 + s21;
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * %
% Displar结果
% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * %
disp (的公车导纳矩阵:)
disp (“yi1移”)
disp (y)
disp (“V2价值= ')
disp (v2)
disp (“s1价值= ')
disp (s1)
disp (“slose_12价值= ')
disp (slose_12)
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2022年5月2日
defaultans是一个细胞 向量。defaultans”是它的转置,所以是一个细胞 向量。大小(defaultans”)将会是一个向量和条目的数量defaultans作为它的第一个值,和1(只有一列转置)作为第二个值。的()将一个数组的所有的人,就有多少的一个列在defaultans条目。
同样的第二部分是相似但50 * 50繁殖。
这些都是在[]所以你得到的是一个数组作为defaultans就有多少行条目,第一列是1,第二列是所有50岁。
当数组传递给inputdlg位置是在(),它给每个输入区域的尺寸信息。领先1的意思是“储备一行文本为每个输入区”和落后50意味着“储备为每个输入50个字符区”。
为什么50 ?这似乎是一个任意的设计决策。它看起来好写代码。

登录置评。

类别

找到更多的在历史竞赛帮助中心文件交换

标签

社区寻宝

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

开始狩猎!