Help with symbolic substitution
조회 수: 5 (최근 30일)
이전 댓글 표시
I have created zz that has 3 symbols, x_1, x_2 and x_3. I later generated 3 random numbers, xx, to replace the symbols and calculate zz.
My problem now is how to substitute the 3 random numbers such that the 1st, 2nd and 3rd numbers respectively replace x_1, x_2 and x_3 in order to calculate a value for zz as pp.
%
syms x_1 x_2 x_3
y = (x_1 + x_2 + x_3)^2;
yy = expand(y)
numerator = (x_1*x_1) + (x_1*x_2) + (x_1*x_3);
zz = numerator / yy
% Generate a random number for each of x_1, x_2 and x_3:
xx = randi(10,[1 3]);
% Use xx to calculate zz:
pp = subs(zz, xx) % ouput is incorrect. Help is needed!
댓글 수: 0
채택된 답변
Yongjian Feng
2021년 7월 27일
%
syms x_1 x_2 x_3
y = (x_1 + x_2 + x_3)^2;
yy = expand(y)
numerator = (x_1*x_1) + (x_1*x_2) + (x_1*x_3);
zz = numerator / yy
% Generate a random number for each of x_1, x_2 and x_3:
x_1=randi(10);
x_2=randi(10);
x_3=randi(10);
pp = subs(zz)
추가 답변 (1개)
KSSV
2021년 7월 27일
Why don't you use anonymous function ?
zz = @(x) (x(1) + x(2) + x(3))^2/(x(1)^2 + x(1)*x(2) + x(1)*x(3)) ;
% Generate a random number for each of x_1, x_2 and x_3:
xx = randi(10,[1 3]);
% Use xx to calculate zz:
pp = zz(xx)
참고 항목
카테고리
Help Center 및 File Exchange에서 Calculus에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!