6 svar
38 visningar
charlizo121 är nöjd med hjälpen!
charlizo121 19
Postad: 20 jan 2020

skapa funktion med logaritm +villkor

Hej det är så att jag ska göra en uppgift som lyder såhär:

Skriv en funktion min_logaritm som beräknar den naturliga logaritmen av ett tal x.
 
Indata till funktionen ska vara värdet x och utdata ska vara logx om talet x är positivt ( > 0 ). Om x inte är positivt ska logx tilldelas strängen 'NotDefined'

 

Min kod är:

function logx = min_logaritm(x)
%Skriv in din lösning nedan
logx=x
logx='NotDefined'
 
end

Men jag får tydligen fel åp logx=x etc, hur skall jag tänka ? 

emmynoether 833
Postad: 20 jan 2020

Hur menar du att du "får fel på logx=x"? Får du något felmeddelande, i sådant fall vad?

Soderstrom 382
Postad: 20 jan 2020 Redigerad: 20 jan 2020

Testa:

Function min_logaritmx = log(x)

min_logaritmx=x

charlizo121 19
Postad: 20 jan 2020 Redigerad: 20 jan 2020

I frågan så är denna kod given : 

function logx = min_logaritm(x)
%Skriv in din lösning nedan
logx=x;
end

 

Jag skall lägga till i koden så att x är logx(utdata)  när x>0 och när x<0 så tilldelas logx strängen Nodetdefined. Men jag vet inte hur jag skall börja,  

Jag lade till som ni kan se i koden nedan. Logx=log(x) men vet inte hur jag lägger till så att strängen visas när x är mindre än noll.

function logx = min_logaritm(x)
%Skriv in din lösning nedan
logx=x;
logx= log(x)
 
end

Soderstrom 382
Postad: 20 jan 2020

Har du talas om en while loop?

Typ:

While x>0

logx=x

Else if x<0

Disp ('NaN')

End

 

Min kod kan vara fel, då jag själv inte är så bra på det, men jag det är nog så man ska göra. Tips om du fastnar är att läsa felmeddelanden du får och sök upp dem på nätet, det kan vara bra.

charlizo121 19
Postad: 20 jan 2020
Soderstrom skrev:

Har du talas om en while loop?

Typ:

While x>0

logx=x

Else if x<0

Disp ('NaN')

End

 

Min kod kan vara fel, då jag själv inte är så bra på det, men jag det är nog så man ska göra. Tips om du fastnar är att läsa felmeddelanden du får och sök upp dem på nätet, det kan vara bra.

Jag får fel på else när jag skriver på ditt sätt.  felmeddelandet är : Illegal use of reserved keyword "else". detsamma gäller om jag skriver elseif eller else if 

charlizo121 19
Postad: 20 jan 2020

Jag löste det till slut!

 

function logx = min_logaritm(x)
%Skriv in din lösning nedan
logx=x;
if x>0
logx= log(x)
else x<0
logx = ('NotDefined')
disp(logx)
end
end

Svara Avbryt
Close