Линейная комбинация строкового вектора (с функциями) и числового вектора (коэффициенты) - PullRequest
1 голос
/ 30 октября 2011

Я действительно новичок в Matlab и пытаюсь подогнать линию или кривую к точкам данных для домашней работы (эта часть фактически выполнена). Теперь я хочу пойти немного дальше, чем заданная домашняя работа. Я построил функцию, которая принимает текстовый файл с координатами и любым количеством функций (1,x,x^2... например) и определяет коэффициенты.

Итак, в итоге у меня осталось два вектора: один с коэффициентами: C = [a,b,c] и другой с функциями: F = {'1','x','x^2'}, и я хотел бы создать их линейную комбинацию: l = a + b*x + c*x^2, чтобы построить кривую на графике, и по какой-то причине я не могу понять, как заставить это работать. Есть ли что-то очевидное, что я упускаю из виду, или мне нужно каким-то образом переосмыслить это?

1 Ответ

0 голосов
/ 30 октября 2011
a=1; b=2; c=3;
C=[a,b,c];
CS = cellfun(@num2str,num2cell(C),'uniformoutput',0)
M={'*','*','*'};
F={'1','x','x^2'};
P={' + ',' + ',''};
S=reshape([CS; M; F; P],1,[]);
cat(2,S{:})

Вывод:

ans =

1*1 + 2*x + 3*x^2

Вы уверены, что хотите напечатать 'a', 'b' и 'c' как символы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...