Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

I need help with defining while loops?

조회 수: 2 (최근 30일)
Najib Ahmadi
Najib Ahmadi 2015년 11월 13일
마감: MATLAB Answer Bot 2021년 8월 20일
Hello. I want write a code which can performe to generate matrix automaticlly. In the last while loop in my code I want to define that the 3:rd column and 2:nd row is =5 and the 2:nd column and 2:nd row is = 7 and the rest of the row tow is = 0 when we do not have any more number. Plz help me to solve this issue.
My code
% -------------------------------------
a=386;
b=75;
nrows=2;
stra= num2str(a); %#########convert (a) to string format
strb=num2str(b); %#########convert (b) to string format
sizea= length(stra);
sizeb= length(strb);
% M=zeros(sizea, sizeb);
if sizea > sizeb
ncols = sizea
M= zeros (nrows, ncols)
while sizea >= 1
M(1, sizea) = str2num(stra(1, sizea)) %(stra(stra(1), size(a)))
sizea=sizea-1
end
else
ncols=sizeb
M=zeros (nrows, ncols)
end
while sizeb >= 1
M(2, sizeb) = str2num(strb(1,sizeb))
sizeb=sizeb-1
sizea=sizea-1
end
  댓글 수: 2
Stephen23
Stephen23 2015년 11월 13일
@Najib Ahmadi: most of the volunteers here already know how to write efficient MATLAB code. What we don't know is exactly what you are trying to do. We can fix your code, or write something to help you, but you need to explain exactly what you need.
Please post input and output data that we can test code with, and an detailed explanation. Posting broken code does not help us to understand what you are trying to achieve.
Thorsten
Thorsten 2015년 11월 13일
What is the expected output in your example with a=386 and b=75?

답변 (2개)

Eng. Fredius Magige
Eng. Fredius Magige 2015년 11월 13일
Your increment is missing which support to allow application of while. Both if and else are inner within wile loop as well as to end by end.
  댓글 수: 1
Najib Ahmadi
Najib Ahmadi 2015년 11월 13일
Is it possible for you write the code. Because in my case it did not work! appriciate for ur help

Thorsten
Thorsten 2015년 11월 13일
편집: Thorsten 2015년 11월 13일
Do you want to put the digits of a "a" and "b" into the elements of a matrix? The you can use this code:
M = num2str([a; b]) - '0';
M(M==' ' - '0') = 0
M =
3 8 6
0 7 5

Community Treasure Hunt

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

Start Hunting!

Translated by