What is the difference between ( ) and [ ] format in matlab? how can i change the one format to another one?
조회 수: 31 (최근 30일)
이전 댓글 표시
Dear Sir/MAdam,
What is the difference between ( ) and [ ] format in matlab? how can i change the one format to another one?
[rangr]=split(rangr(x,:),gsize1);
[rangg]=split(rangg(x,:),gsize1);
[rangb]=split(rangb(x,:),gsize1); this is function
I want get the result format for only this ( ) format, not this [] format.. so how can i convert it.. please any one help to me.
Edit [11 Sep 2012, 12:04 BST - OK] Merged from duplicate
Dear Sir/MAdam, Please read out my following codes . I got a rang, meanran and varran values for ( ) this format. But I got the result for rang ,meansrang,varsrang values for [ ] format. THis method is correct or not..?
for i1=1:gsize:nr
for j1=1:gsize:nc
l=1;
for x=i1:1:i1+(gsize-1)
for y=j1:1:j1+(gsize-1)
rang1(k,l)=c(x,y);
l=l+1;
end
end
dr=double(rang1(k,:));
meanran(k)=mean(dr);
varran(k,:)=var(dr);
k=k+1;
end
end
###################################
[rang]=qtsplit(rang1(i1,:),gsize1);
for x=1:1:4
dr=double(rang(x,:));
meansrang(x)=mean(dr(1,:));
varsran(x)=var(dr(1,:));
So I got the Result in different formate and Error image also. how can i rectify that formate?
(rang2)=[rang] possible or not? how can i change the type[] to ( ). Any one pleas help to my question.
Thank you.
댓글 수: 5
Walter Roberson
2012년 9월 11일
Thanks, but don't bother Oleg. I don't think they can retrieve deleted messages anyhow, and it was probably too new to have been backed up.
Oleg Komarov
2012년 9월 11일
편집: Oleg Komarov
2012년 9월 11일
I sent an email, we'll see. I recall that in one of the updates to ANSWERS they said they don't delete posts from the DB but flag them.
채택된 답변
Andreas Goser
2012년 9월 11일
If SPLIT is a function, then () is needed. This is the syntax function(parameter1, parameter2).
[] concatenates. Simply try
[1, 2, 3]
in the command window and you will see.
From this question, I do not see a format that can be changed. () and [] are used for different purposes.
추가 답변 (1개)
Walter Roberson
2012년 9월 11일
You cannot use () to surround output variables in MATLAB; it just isn't allowed. You need to use [] instead. [] hints at building a list.
[variable] = function_call() %allowed
(variable) = function_call() %not allowed
In expressions, [] is used for building matrices.
[1 2; 3 4] %builds a two by two array
In expressions, () is used for array subscripting, such as a(3), and is also used to control the order of operations, such as ((1+3)*2)
댓글 수: 10
Walter Roberson
2012년 9월 20일
편집: Walter Roberson
2012년 9월 20일
In the syntax
[rangr]=qtsplit(rang1r(i1,:),gsize1);
you can leave out the [] and the result will be exactly the same:
rangr=qtsplit(rang1r(i1,:),gsize1);
It appears to me that your difficulty has nothing to do with () compared to [].
Code of the form
variable(index) = expression;
sets the index'th element of "variable" to contain the value of the expression.
Code of the form
[variable] = expression;
is exactly the same as
variable = expression;
and replaces "variable" entirely, so that afterwards "variable" has only the value of the expression.
There is also code of the form
[variable1, variable2] = expression;
In that case, "expression" would normally be a function call that returns multiple outputs, with the first output being assigned to "variable1" and the second assigned to "variable2". (There are also some cases where the expression might involve cell arrays or structures instead of a function call.)
I am not familiar with the algorithms involved in your code, and it appears that for me to understand and debug it would be more work than I would be willing to do as a volunteer.
참고 항목
카테고리
Help Center 및 File Exchange에서 Red에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!