Программирование Ti nspire - определение переменных - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь сделать скрипт для выполнения этих двух уравнений с суммированием:

((−b*σ*yn)/(2))+∑(−σ*(1-((yi)/(yn)))*ab*nbi,i,1,Nf)

и это:

((b*s*yn^(2))/(3))+∑(−σ*(1-((yi)/(yn)))(yi-yn)*ab*nbi,i,1,Nf)

Мой код:

Prgm
Local b,h,n,nf,n_tot,mf,ub,lb,hi,ii,msg,y,yn,σ,ab,eq1,eq2

Disp ""
Request "b :",b
Request "h :",h
Request "Ab :",ab
Request "N : ",n
Request "Mf : ",mf
Request "N° tot : ",n_tot
Request "N° over N-A  : ",nf

newMat(nf,2)→hi

For ii,1,nf,1
Request "h i-i:",msg
msg→hi[ii,1]
Request "b i-i:",msg
msg→hi[ii,2]
EndFor

Disp "matrix",hi

newMat(1,1)→eq1
newMat(1,1)→eq2

For ii,1,nf,1
((-b*σ*yn)/2) + (−σ*(1-((hi[ii,1])/(yn)))*ab*hi[ii,2])→eq1[ii,1]
((b*s*yn^2)/3) + (−σ*(1-((hi[ii,1])/(yn)))*(hi[ii,1]- 
yn)*ab*hi[ii,2])→eq2[ii,1]
EndFor

Disp "eq1:",eq1
Disp "eq2:",eq2
Disp "solution",solve(eq1[1,1]=n and eq2[1,1]=mf+n(0.5*h+yn),{yn,σ})|yn>0

EndPrgm

Но я получаю: "Error: Variable is not defined"

Я не понимаю, почему я получаю эту ошибку, что я делаю неправильно?Любые советы будут оценены, я новичок в программировании.

1 Ответ

0 голосов
/ 20 ноября 2018

Решено: проблема была в определении локальной переменной.

Define LibPub bj_semi_rgd_fl()=
Prgm
Local b,h,ab,n,mf,nf,hi,msg,i,j
Request "Larghezza flangia :",b
Request "Lunghezza flangia :",h
Request "Sezione bullone :",ab
Request "N : ",n
Request "Mf : ",mf 
Request "N° file sopra A-N  : ",nf
hi:=newMat(nf,2)
For i,1,nf,1
Request "altezza della fila i-esima:",msg
hi[i,1]:=msg
Request "bulloni per fila i-esima:",msg
hi[i,2]:=msg
EndFor
eq1:=0
eq2:=0
For j,1,nf,1
eq1:=eq1+−σ*(1-((hi[j,1])/(yn)))*ab*hi[j,2]
eq2:=eq2+−σ*(1-((hi[j,1])/(yn)))*(hi[j,1]-yn)*ab*hi[j,2]
EndFor

Disp "+++Risultato+++"
Disp "",solve(((−b*σ*yn)/(2))+eq1=n and ((b*σ*yn^(2))/(3))+eq2=mf+n*(0.5*h+yn), 
{yn,σ})|yn>0
Disp "++++++++++++"
DelVar eq1,eq2,yn,σ
EndPrgm

Так что я только что отменил переменные, которые используются в команде "solve ()".Вот и все.

...