MATLAB Solve function gives [ empty sym ]
3 次查看(过去 30 天)
显示 更早的评论
Hi,
on the last line of the code I want to use the solve function, but it gives me:
x=
[ empty sym ]
Any ideas?
close all
clear all
clc
E = 206900; % Young's Modulus [MPa]
K_ = 3328; % Cyclic Hardening Coefficient
n_ = 0.147; % Cyclic Hardening Exponent
sigma_f = 2619; % Fatigue Strenght Coefficient [MPa]
epsilon_f = 0.145; % Fatigue Ductility Coefficient
b = -0.9280; % Fatigue Strenght Exponent
c = -05596; % Fatigue Ductility Exponent
sigmaE = 233; % Stress - MAX in component[MPa]
epsilon = sigmaE/E + (sigmaE/K_)^(1/n_);
sigma = sigmaE^2/E*epsilon;
Ne=1000000;
sigmaA = sigma_f*(2*Ne)^b;
epsilonA=sigma_f*(2*Ne)^b+epsilon_f*(2*Ne)^c;
M = 0.7; % Midrange Stress Sensitivity
k = M*(M+2); % We use this factor in order to express the
% midrange stress sensitivity (mainly for R=0),
% but keep on using Local Strain Concept
% for R = -1
sigmaM = 0;
PB1=sqrt((sigmaA + k*sigmaM)*epsilonA*E);
PB2=sqrt((sigma + k*sigmaM)*epsilon*E);
sym N;
x = solve('PB2=sqrt(((sigma_f*(2*N)^b)+k*sigmaM)*((sigma_f/E)*(2*Ne)^b+epsilon_f*(2*N)^c)*E)','N')
Cheers!!!
0 个评论
回答(2 个)
Roger Stafford
2013-5-29
Squaring both sides of your equation and coalescing given parameters produces a simplified equation of the form
N^(b+c) + k1*N^b + k2 = 0
where k1 and k2 are known. (The N^c term that would have been there has disappeared since you set sigmaM to zero.) If 'solve' cannot find an explicit solution for this, you will have to do it numerically, say, with 'fzero'.
By the way, your value for exponent 'c' looks like a suspiciously large negative quantity. Don't you mean
c = -0.5596; % Fatigue Ductility Exponent ?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Stress and Strain 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!