- Convert matr to float using vpa
- Use round function
Error message: Too many input arguments
17 次查看(过去 30 天)
显示 更早的评论
I want to round the results to 4 numbers after the decimal point, but when I run, i get the following error messages like image below:
syms A1 B1 A2 B2 A3 B3 A4 B4
eq1 = A1*log(4)+B1==341;
eq2 = A4*log(10)+B4==0;
eq3 = A1*log(6)+B1==6*A2+B2;
eq4 = 7*A2+B2==A3*(49/2)+B3;
eq5 = 32*A3+B3==A4*log(8)+B4;
eq6 = A1/600-A2/6==0;
eq7 = A2-A3==0;
eq8 = A3/8-A4/8000==0;
eq = [eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8];
var = [A1, B1, A2, B2, A3, B3, A4, B4];
[A1, B1, A2, B2, A3, B3, A4, B4] = solve(eq, var)
matr = [A1 B1 A2 B2 A3 B3 A4 B4];
result = round(matr,4)
0 个评论
采纳的回答
Alberto Cuadra Lara
2022-4-23
Maybe the round function was not compatible with symbolic variables on previous version.
Try this approach:
syms A1 B1 A2 B2 A3 B3 A4 B4
eq1 = A1*log(4)+B1==341;
eq2 = A4*log(10)+B4==0;
eq3 = A1*log(6)+B1==6*A2+B2;
eq4 = 7*A2+B2==A3*(49/2)+B3;
eq5 = 32*A3+B3==A4*log(8)+B4;
eq6 = A1/600-A2/6==0;
eq7 = A2-A3==0;
eq8 = A3/8-A4/8000==0;
eq = [eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8];
var = [A1, B1, A2, B2, A3, B3, A4, B4];
[A1, B1, A2, B2, A3, B3, A4, B4] = solve(eq, var);
matr = [A1 B1 A2 B2 A3 B3 A4 B4];
result = vpa(matr, 32);
result = round(result, 4)
更多回答(2 个)
Alberto Cuadra Lara
2022-4-23
Hi Quy!
What version of MATLAB are you using? Your code works in MATLAB 2021b
syms A1 B1 A2 B2 A3 B3 A4 B4
eq1 = A1*log(4)+B1==341;
eq2 = A4*log(10)+B4==0;
eq3 = A1*log(6)+B1==6*A2+B2;
eq4 = 7*A2+B2==A3*(49/2)+B3;
eq5 = 32*A3+B3==A4*log(8)+B4;
eq6 = A1/600-A2/6==0;
eq7 = A2-A3==0;
eq8 = A3/8-A4/8000==0;
eq = [eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8];
var = [A1, B1, A2, B2, A3, B3, A4, B4];
[A1, B1, A2, B2, A3, B3, A4, B4] = solve(eq, var);
matr = [A1 B1 A2 B2 A3 B3 A4 B4];
result = round(matr, 4)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!