Is there anything wrong to my code?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
if (((N(end)=='A'||N(end)=='B'||N(end)=='C'||N(end)=='D'||N(end)=='E'||N(end)=='F') && (b1>=10))|| str2num(N(end))>=b1)
end
my matlab says that:
Operands to the || and && operators must be convertible to logical scalar values.
Error in sample (line 22)
if (((N(end)=='A'||N(end)=='B'||N(end)=='C'||N(end)=='D'||N(end)=='E'||N(end)=='F') && (b1>=10))||
str2num(N(end))>=b1)
fprintf(2, '|| ERROR! || The digit/s of the number you desire to convert SHOULD NOT EXCEED the value of initial base\n')
return;
whats wrong here? my input is N=9A then my b1=9(str type) then my b2=10.
0 Commenti
Risposta accettata
Matt Fig
il 7 Ott 2012
Modificato: Matt Fig
il 7 Ott 2012
I don't think you have told the whole story:
>> N = '9A';
>> b1='9';
>> (((N(end)=='A' || ...
N(end)=='B' || ...
N(end)=='C' || ...
N(end)=='D' || ...
N(end)=='E' || ...
N(end)=='F') && ...
(b1>=10))|| ...
str2num(N(end))>=b1)
ans =
1
By the way, why do you say b1 is a string, then check to see if it is greater than 10? Either way, calling STR2NUM on N(end) will result in an empty array because 'A' can't convert to a number...
Also, try this:
~isempty(strfind('ABCDEF',N(end)))
Più risposte (1)
jelly
il 7 Ott 2012
Modificato: jelly
il 7 Ott 2012
1 Commento
Walter Roberson
il 7 Ott 2012
Please show your current code, and the error message you are currently experiencing, and show
class(b1)
size(b1)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!