Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

I need help with for loops

2 visualizaciones (últimos 30 días)
Mark Woolsey
Mark Woolsey el 1 de Mayo de 2020
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
I am new to matlab and I'm writing a for loop that will answer eather true or false whether a number in a vector is positive or negative. ie A = [-5 -3 2 37 -33 6] and answer B = [false false true true false true]. Any advice you may be able to give me?
  4 comentarios
David Hill
David Hill el 1 de Mayo de 2020
Editada: David Hill el 1 de Mayo de 2020
Why do you need to use a loop?
B=A>=0;%logical array (why do you need 'true' and 'false'?) you will have to do either a string array or cell array
l=["false","true"];
C=l((A>=0)+1);%string array
h={'false','true'};
D=h((A>=0)+1);%cell array
Mark Woolsey
Mark Woolsey el 1 de Mayo de 2020
It is an asignment that I need to use a for or while loop to answer the question.

Respuestas (2)

Prasad Reddy
Prasad Reddy el 1 de Mayo de 2020
clc
clear all
A = [-100 20 50 -2 -55 3 40 -27]
B=zeros(1,length(A))
for i = 1:length(A)
if A(i) > 0
B(i) = true
else
B(i) = false
end
end
% This will work. but you will get 1 in place of true and 0 in place of false.
% please give upthumb if this works well.
% i am trying more specifically for your code.
% will update soon once got the answer.

Prasad Reddy
Prasad Reddy el 1 de Mayo de 2020
clc
clear all
A = [-100 20 50 -2 -55 3 40 -27]
for i = 1:length(A)
if A(i) > 0
B(i) = {'true'};
else
B(i) = {'false'};
end
end
B
% This is the final Answer.
% Hear you are trying to crete a string array B, which will have true and false.
% I think this is the only way in which you can do it.
% please provide up thumb if it works. Iworked for this problem for an hour.
  1 comentario
Mark Woolsey
Mark Woolsey el 1 de Mayo de 2020
This will work if i remove the (' ') around the true false statements, but i get the answer with 0's and 1's. Is there a way to convert the 0's and 1's to true and false outside the loop?
If i leave this in (' '), I get this responce:
In an assignment A(:) = B, the number of elements in A and B must be the same.

La pregunta está cerrada.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by