Error: Unbalanced or unexpected parenthesis or bracket

The matlab show this error "Error: Unbalanced or unexpected parenthesis or bracket." in this part of the code:
%**************************************
nome = '105.txt';
[pathstr, name, ext] = fileparts(nome);
load(nome);
x=eval([name '(:,1)']);
y=eval([name '(:,2)']);
z=eval([name '(:,3)']);
%*************************************
---------------------------------------------------------------
105.txt contains 3 columns with several rows...
But on my friend's pc don't show this error... I have a Asus x64, with windows 10 and Matlab R2014b...
I think the problem is not from the code as it was functional on other pc's. I think it has to do with my compiler, but I don't know how to fix it ...
Already installed the version Matlab 6.5 R13, but the same error appears ...
What may be the source of this error?

6 件のコメント

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH 2019 年 11 月 11 日
編集済み: JESUS DAVID ARIZA ROYETH 2019 年 11 月 11 日
name is a variable or is the file name.txt?
¿Name es una variable o un archivo de texto llamado "name.txt"?, ya que para que no te dé error ahí name debe ser un string
Ricardo Henriques
Ricardo Henriques 2019 年 11 月 11 日
編集済み: Walter Roberson 2019 年 11 月 13 日
The "name" came from of "[pathstr, name, ext] = fileparts(nome);"
The previous code is:
%********************************************
nome = '105.txt';
[pathstr, name, ext] = fileparts(nome);
load(nome);
x=eval([name '(:,1)']);
y=eval([name '(:,2)']);
z=eval([name '(:,3)']);
%**********************************************
*
105.txt contains 3 columns with several rows...
Adam
Adam 2019 年 11 月 11 日
編集済み: Adam 2019 年 11 月 11 日
The 2nd output of fileparts is simply a filename. Trying to index into it in that way would be expected to produce an error.
Why not just open the file and read its content in instead of confusing the issue with eval, whose usage is regularly recommended against, for reasons exactly like this?
Stephen23
Stephen23 2019 年 11 月 13 日
"I think the problem is not from the code ..."
In fact the problem is very badly designed code that relies on complex eval to generate invalid variable names. That code should be thrown away, it is never going to be reliable or efficient.
Ricardo Henriques
Ricardo Henriques 2019 年 11 月 13 日
So how should I replace the code?
Any suggestion?
Walter Roberson
Walter Roberson 2019 年 11 月 13 日
Steven Lord showed you.

サインインしてコメントする。

 採用された回答

madhan ravi
madhan ravi 2019 年 11 月 11 日

0 投票

I think name is variable, it's simply (there is no need for eval):
x = name(:,1);
y = name(:,2);
z = name(:,3);

1 件のコメント

Ricardo Henriques
Ricardo Henriques 2019 年 11 月 11 日
The "name" came from of "[pathstr, name, ext] = fileparts(nome);"
The previous code is:
%********************************************
nome = '105.txt';
[pathstr, name, ext] = fileparts(nome);
load(nome);
x=eval([name '(:,1)']);
y=eval([name '(:,2)']);
z=eval([name '(:,3)']);
%***********************************************
105.txt contains 3 columns with several rows...

サインインしてコメントする。

その他の回答 (1 件)

カテゴリ

ヘルプ センター および File ExchangeSearch Path についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by