I am having issued with my for loop taking the variable that i have set to be [1:1:n] but when i run my script it turns my answer into a scular in stead of a matrix.
here is what i have any help would be great thanks.
clc;
clear;
close all;
n = input('Please give number for the total number of terms in the taylor series: ');
x = input('Please give a value for "x": ');
approxValue = 0;
% Initial value of approxValue.
for k = [0:1:n];
approxVakue = (approxValue + k);
approxValue = sum(x.^k/factorial(k));
% Gives the approx value of e^x as a taylor series
end
disp('approxValue =')
disp((approxValue))
disp('e^x =')
disp(exp(x))

1 commentaire

Dillan Masellas
Dillan Masellas le 8 Avr 2016
How can I perform this operation without using the power function?

Connectez-vous pour commenter.

 Réponse acceptée

Matt Fig
Matt Fig le 6 Sep 2012
Modifié(e) : Matt Fig le 6 Sep 2012

0 votes

Use this loop instead:
for k = 0:n
approxValue = (approxValue + x.^k/factorial(k));
% Gives the approx value of e^x as a taylor series
end
I don't know what approxVakue is supposed to be doing in your code??
And what do you expect to be a matrix? Are you trying to save each term? If so:
approxValue = zeros(1,n+1);
for k = 0:n
approxValue(k+1) = x.^k/factorial(k);
end
approxValuesum = sum(approxValue); % Holds the estimate
This could also be done without FOR loops...

6 commentaires

SonOfAFather
SonOfAFather le 6 Sep 2012
approxValue should be very close to the actual answer of e^x in the end when we use a large number of terms right now i am getting a huge differance in my answers.
Thank you that solved this freaking issue i am struggeling to learn this new language, Matlab, I find that i can do the computations, but knowing how to word it so that Matlab will accapt it is really kicking my butt. I can't thank you enough for you assistance.
Matt Fig
Matt Fig le 6 Sep 2012
You're welcome!
SonOfAFather
SonOfAFather le 6 Sep 2012
i am still somewhatconfused as to why in the workspace the value of k is given as a number and not a vector? is it a result of the opperation be run and therefore at the end it is a number?
Matt Fig
Matt Fig le 6 Sep 2012
k is the loop index. Thus k takes values of 0,1,...n one at a time, each time through the loop. Why would you need k at the end??
SonOfAFather
SonOfAFather le 6 Sep 2012
thank you i understand now. It wasn't that i needed to know that the value of k it was that it didn't do what i thought it would do. i thought that the value of k would still stay in vector form, but your explaination corrected my thought process. thank you.
SonOfAFather
SonOfAFather le 12 Sep 2012
In the end i was told that"n" should have been "n-1" in
for k = 0:n should have read k = 0:n.
the explaination i was given was that each time to loop processed through it needed to be one less.
thanks for you help. just thought i would tell you how i was corrected.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by