User-Defined function to add polynomials
Ältere Kommentare anzeigen
function p= polyno(p1,p2,operation)
%Write a user-defined function that adds are substract polynomials of any two orders
len_p1=length(p1);
len_p2=length(p2);
if len_p1 > len_p2
tmp=[zeros(1:len_p1-len_p2),p2];
p2=tmp;
elseif len_p1 < len_p2
tmp=[zeros(1:len_p2-len_p1),p1];
p1=tmp;
end
if operation == 'Add'
p = p1 + p1;
elseif operation == 'Subtract'
p = p1 - p2;
else
error('Must enter "Add" or "Subtract" to complete operation')
end
end
I know there is a lot of problems witht the code, but the main problems is that it wont add diffrent ordered polynomials correctly, and also it doesnt let me subtract polynomials, it tells me theres an error with the line of the code that tells it to add. How would I go about fixing this?
5 Kommentare
Walter Roberson
am 14 Dez. 2019
You should use strcmp not ==
Walter Roberson
am 14 Dez. 2019
Hint: zeros can be called with a difference between lengths. If the difference is positive then zeroes will be creating an appropriate padding. If the difference in length is 0 or negative then zeros will not give an error message and will silently create empty padding. If you think about this you will see that you do not need to tests the relative length first: you can just go ahead and pad and everything will turn out the right size.
Jose De La Pena
am 14 Dez. 2019
Jose De La Pena
am 14 Dez. 2019
Walter Roberson
am 14 Dez. 2019
Remember that zeros(1:5) is the same as zeros([1,2,3,4,5]) which creates a n array that is 1 * 2 * 3 * 4 * 5
Antworten (0)
Kategorien
Mehr zu Polynomials finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!