6 svar
153 visningar
charlizo121 behöver inte mer hjälp
charlizo121 19
Postad: 20 jan 2020 01:05

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 663 – Fd. Medlem
Postad: 20 jan 2020 01:29

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

Soderstrom 2768
Postad: 20 jan 2020 02:27 Redigerad: 20 jan 2020 02:27

Testa:

Function min_logaritmx = log(x)

min_logaritmx=x

charlizo121 19
Postad: 20 jan 2020 12:54 Redigerad: 20 jan 2020 13:13

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 2768
Postad: 20 jan 2020 13:13

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 13:21
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 13:31

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
Close