cho em hỏi về MATLAB?

  • Thread starter cokhi85
  • Ngày mở chủ đề
C

cokhi85

Author
bác nào biết MATLAB thì bảo em với.
em có đề bài là:tính bền đỉnh piston
clc
x=input('nhap vat lieu lam pison')
disp('a:la áp suất khí thể')
disp('b:la đường kính đỉnh piston')
disp('c:la chiều dày đỉnh piston')
disp('A:la ứng suất uốn tại đỉnh piston')
a=input('nhap gia tri cua a=')
b=input('nhap gia tri cua b=')
c=input('nhap gia tri cua c=')
A=sprintf('%0.5g',a*b^2/(4*c^2))
if x==1
sprintf('%s','vat lieu lam piston la hợp kim nhôm')
if 20<= A <=25
sprintf('%s','đỉnh không có gân tăng bền')
elseif 25<= A <=190
sprintf('%s','đỉnh có gân tăng bền')
else
sprintf('%s','A không đảm bảo')
end
elseif x==2
sprintf('%s','vat lieu lam piston la gang')
if 40<= A <=45
sprintf('%s','đỉnh không có gân tăng bền')
elseif 90<= A <=200
sprintf('%s','đỉnh có gân tăng bền')
else
sprintf('%s','A không đảm bảo')
end
else
sprintf('%s','x không đảm bảo')
end
không hiểu sao em ấn F5 để chạy chương trình thì không chạy được mà cứ báo lỗi là:Error: Missing operator, comma, or semicolon.
em rất mong sự chỉ bảo của các bác.
 
Last edited by a moderator:
chương trình của bạn chạy ngon đây thây có báo lỗi j đâu

bạn thử nhập lại các đầu vào toàn là số nguyên xem sao!
 
C

cokhi85

Author
bác kiểm tra lại cho em với
vidụ:x=1 ;a=3 ;b=5 ;c=1 ;A=18.75
thì nó báo ( đỉnh không có gân tăng bền)
mà trong khi đó (20<=A<=25 hoặc 25<=A<=190) có nghĩa là nó không nằm trong fạm vi nào cả thì nó phải báo là (A không đảm bảo )chứ.
tại em tự đọc sách nên không đựơc ai dạy.có gì các bác chỉ bảo cho em với.
 
ah cậu nói sai nên matlab ko hiểu cái ý đúng của cậu rồi:

mình đoán thế này:
cậu muốn nói là nếu A nằm trong khoảng 20 đến 25 thì matlab in ra là: đỉnh không có gân tăng bền, muốn vậy cậu phải viết điều kiện là:

if A>=20 & A<=25
....

chứ viết thế này thì matlab sẽ hiểu sai ý cậu: toán tử lớn hơn hoặc bằng: >=
toán tử nhỏ hơn hoặc bằng: <=
toán tử và : &

Cậu sửa cho các vòng lặp khác rồi chạy lại xem sao!
 
C

cokhi85

Author
nhap vat lieu lam piston la Al hoac Gang:1
x =
1
a : la ap suat khi the
b : la duong kinh dinh piston
c : la chieu day dinh piston
A : la ung suat uon tai dinh piston
nhap gia tri cua a=5
a =
5
nhap gia tri cua b=4
b =
4
nhap gia tri cua c=2
c =
2

A =
5

x =
vat lieu lam piston la hop kim nhom

ans =
dinh co gan tang ben
đây là bài chạy của em.A=5 có nghĩa là (A không đảm bảo) vậy mà nó cho ra kết quả là (đỉnh có gân tăng bền).có gì bác xem lại cho em và sửa hộ em với.
à em có các hàm logic :isemty(x) ; isequal(a,b,...) ; ischar(x) ; srtcmp(s1,s2),strcmp(s1,s2,n) bác cho em mấy cái vidụ về các hàm logic này được không .sách của em không vidụ nhiều
 
cậu chạy đoạn script này xem:
clc
x=input('nhap vat lieu lam pison: ');

disp('a:la ap suat khi the')
disp('b:la duong kinh dinh piston')
disp('c:la chieu day dinh piston')
disp('A:la ung suat uon tai dinh piston')

a=input('nhap gia tri cua a=');
b=input('nhap gia tri cua b=');
c=input('nhap gia tri cua c=');
A=sprintf('%0.5g',a*b^2/(4*c^2))

if x==1
sprintf('%s','vat lieu lam piston la hop kim nhom')
%%%
if A>=20 & A<=25;
sprintf('%s','dinh khong co gan tang ben')
elseif A>=25 & A<=190;
sprintf('%s','dinh co gan tang ben')
else
sprintf('%s','A khong dam bao')
end


elseif x==2
sprintf('%s','vat lieu lam piston la gang')

if A>=40 & A<=45;
sprintf('%s','dinh khong co gan tang ben')
elseif A>=90 & A<=200;
sprintf('%s','dinh co gan tang ben')
else
sprintf('%s','A khong dam bao')
end
else
sprintf('%s','x khong dam bao')
end
còn tài liệu về mấy cái hàm kia để từ từ đã, mình cũng học matlab "cho vui" thôi vì cũng chưa có ứng dụng nào đáng kể vào thực tế cả, lâu rồi cũng không dùng đến.
 
Last edited:
Top