Error in my code

1 visualizzazione (ultimi 30 giorni)
Shin Lin
Shin Lin il 28 Apr 2023
Risposto: Image Analyst il 28 Apr 2023
I already try multiple time to solve the error but failed, can someone help me on this?
Parse error: Incorrect use of '=' operator. Assign a value to a variable using '=' and compare values for equality using '=='. Function 'Inverse_kinematics' (#24.201.202), line 4, column 3:
My code as below:
function [theta1d,theta2d,theta3d,theta4d,theta5d,theta6d,theta7d,theta8d,theta9d,theta10d,theta11d,theta12d,theta13d,theta14d] = inverse_kinematics(ad,bd,cd,dd,ed,fd,gd,hd,id,jd,kd,ld,md,nd)
11=1;
12=1;
theta2d= acos((ad^2+bd^2-11^2-12^2)/(2*11*12));
theta1d= atan((bd/ad)-atan((12*sin(theta2d))/(11+12*cos(theta2d))));
21=1;
22=1;
23=1;
theta5d= acos((cd^2+dd^2-21^2-22^2)/(2*21*22));
theta4d= atan((dd/cd)-atan((22*sin(theta5d))/(21+22*cos(theta5d))));
theta3d= acos((ed^2+dd^2-21^2-23^2)/(2*21*23));
31=1;
32=1;
33=1;
theta8d= acos((fd^2+gd^2-31^2-32^2)/(2*31*32));
theta7d= atan((gd/fd)-atan((32*sin(theta8d))/(31+32*cos(theta8d))));
theta6d= acos((hd^2+gd^2-31^2-33^2)/(2*31*33));
41=1;
42=1;
43=1;
theta9d= acos((id^2+jd^2-41^2-42^2)/(2*41*42));
theta10d= atan((jd/id)-atan((42*sin(theta9d))/(41+42*cos(theta9d))));
theta11d= acos((kd^2+jd^2-41^2-43^2)/(2*41*43));
51=1;
52=1;
53=1;
theta12d= acos((ld^2+md^2-51^2-52^2)/(2*51*52));
theta13d= atan((md/ld)-atan((52*sin(theta12d))/(51+52*cos(theta12d))));
theta14d= acos((nd^2+md^2-51^2-53^2)/(2*51*53));
  1 Commento
Dyuman Joshi
Dyuman Joshi il 28 Apr 2023
Why are you assinging a number to another number?

Accedi per commentare.

Risposte (2)

Nithin Kumar
Nithin Kumar il 28 Apr 2023
Hi Shin,
I understand that you are facing an issue while using "=" operator. The "Parse error: Incorrect use of '=' operator, assign a value to the variable using '=' operator" occurs when you try to assign a constant to an another constant.
For more information regarding the use of "=" operator, kindly refer Assigning values to a variable.
For more information regarding the equality "==" operator, kindly refer Equality operator.
I hope it helps.

Image Analyst
Image Analyst il 28 Apr 2023
You can't do this:
51=1;
52=1;
53=1;
Fifty one is NOT one, and it makes absolutely no sense to try to send a constant number like 1 into (and replacing) another constant number such as 51. What is your intent there?

Categorie

Scopri di più su Simulink in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by