如何解决MATLAB的solve函数求方程时出现未知数z和root
bigegpt 2024-10-05 13:37 3 浏览
在使用MATLAB的solve函数求解非线性方程时,有可能会在求解的结果中出现z(或者z1)和root,无法得出数值结果。今天主要是以实际的例子,用三种方法解决这个问题。
1.实例1
程序
clc;
clear all;
syms x y z u v w;
eqn=[-5*x+20*y+y*z==0,-x-5*y+2*x*z-v==0,-z+2*u-2*x*y==0,-z-5*u+w==0,-y+v-w==0,v-u==0];
var=[x,y,z,u,v,w];
[x,y,z,u,v,w]=solve(eqn,var)
运行结果
x =
0
(1253323104*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^2)/10108417235 - (143782272*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^3)/10108417235 - (64966543683*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1))/20216834470 - 6753430183/8086733788
(1253323104*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^2)/10108417235 - (143782272*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^3)/10108417235 - (64966543683*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2))/20216834470 - 6753430183/8086733788
(1253323104*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^2)/10108417235 - (143782272*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^3)/10108417235 - (64966543683*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3))/20216834470 - 6753430183/8086733788
(1253323104*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^2)/10108417235 - (143782272*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^3)/10108417235 - (64966543683*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4))/20216834470 - 6753430183/8086733788
y =
0
- (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^2)/10108417235 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^3)/10108417235 - (15779928907*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1))/20216834470 - 1718896477/8086733788
- (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^2)/10108417235 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^3)/10108417235 - (15779928907*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2))/20216834470 - 1718896477/8086733788
- (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^2)/10108417235 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^3)/10108417235 - (15779928907*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3))/20216834470 - 1718896477/8086733788
- (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^2)/10108417235 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^3)/10108417235 - (15779928907*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4))/20216834470 - 1718896477/8086733788
z =
0
(132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^2)/2021683447 + (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^3)/2021683447 - (393538669*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1))/4043366894 + 8594482385/8086733788
(132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^2)/2021683447 + (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^3)/2021683447 - (393538669*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2))/4043366894 + 8594482385/8086733788
(132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^2)/2021683447 + (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^3)/2021683447 - (393538669*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3))/4043366894 + 8594482385/8086733788
(132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^2)/2021683447 + (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^3)/2021683447 - (393538669*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4))/4043366894 + 8594482385/8086733788
u =
0
(4436905563*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1))/20216834470 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^3)/10108417235 - (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^2)/10108417235 - 1718896477/8086733788
(4436905563*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2))/20216834470 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^3)/10108417235 - (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^2)/10108417235 - 1718896477/8086733788
(4436905563*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3))/20216834470 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^3)/10108417235 - (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^2)/10108417235 - 1718896477/8086733788
(4436905563*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4))/20216834470 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^3)/10108417235 - (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^2)/10108417235 - 1718896477/8086733788
v =
0
(4436905563*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1))/20216834470 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^3)/10108417235 - (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)^2)/10108417235 - 1718896477/8086733788
(4436905563*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2))/20216834470 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^3)/10108417235 - (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)^2)/10108417235 - 1718896477/8086733788
(4436905563*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3))/20216834470 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^3)/10108417235 - (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)^2)/10108417235 - 1718896477/8086733788
(4436905563*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4))/20216834470 - (6267264*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^3)/10108417235 - (132488256*root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)^2)/10108417235 - 1718896477/8086733788
w =
0
root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 1)
root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 2)
root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 3)
root(z1^4 - (159*z1^3)/19 + (3349633*z1^2)/14592 + (1397285*z1)/14592 + 4898525/58368, z1, 4)
在官方的帮助文档中有找到出现z和root的原因
Numerically Approximating Symbolic Solutions That Contain root
When solving polynomials, solve might return solutions containing root.
To numerically approximate these solutions, use vpa. Consider the following
equation and solution.
在求解多项式或者高阶非线性方程时,求解可能返回含有根的解。要用数字近似这些解,请使用vpa()。
方法1:我们可以使用double函数对结果进行数字近似化。
double 是 MATLAB 中的默认数值数据类型(类),它可为大多数计算任务
提供足够的精度。数值变量自动存储为 64 位(8 字节)双精度浮点值。
Y = double(X)
程序
clc;
clear all;
syms x y z u v w;
eqn=[-5*x+20*y+y*z==0,-x-5*y+2*x*z-v==0,-z+2*u-2*x*y==0,-z-5*u+w==0,-y+v-w==0,v-u==0];
var=[x,y,z,u,v,w];
[x,y,z,u,v,w]=solve(eqn,var);
x = double(x)
y = double(y)
z = double(z)
u = double(u)
v = double(v)
w = double(w)
运行结果
x =
0.0000 + 0.0000i
-0.1889 + 1.8323i
-0.1889 - 1.8323i
-0.1861 - 1.3171i
-0.1861 + 1.3171i
y =
0.0000 + 0.0000i
-0.0434 + 0.4350i
-0.0434 - 0.4350i
0.5960 +11.6818i
0.5960 -11.6818i
z =
0.0000 + 0.0000i
1.0663 + 0.0706i
1.0663 - 0.0706i
-20.5663 + 0.0507i
-20.5663 - 0.0507i
u =
0.0000 + 0.0000i
-0.2557 - 0.1264i
-0.2557 + 0.1264i
4.9926 - 2.9331i
4.9926 + 2.9331i
v =
0.0000 + 0.0000i
-0.2557 - 0.1264i
-0.2557 + 0.1264i
4.9926 - 2.9331i
4.9926 + 2.9331i
w =
0.0000 + 0.0000i
-0.2124 - 0.5614i
-0.2124 + 0.5614i
4.3966 -14.6150i
4.3966 +14.6150i
2.实例2
程序
clc;
clear all;
syms x y
[x,y]=solve((x-2)^2+(y+2*x-3)^2==5,2*(x-3)^2+(y/ 3)^2==4 )
运行结果
x =
(6449*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 1)^2)/7380 + (457*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 1)^3)/3690 - (6*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 1))/205 - 927/410
(6449*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 2)^2)/7380 + (457*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 2)^3)/3690 - (6*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 2))/205 - 927/410
(6449*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 3)^2)/7380 + (457*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 3)^3)/3690 - (6*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 3))/205 - 927/410
(6449*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 4)^2)/7380 + (457*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 4)^3)/3690 - (6*root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 4))/205 - 927/410
y =
root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 1)
root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 2)
root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 3)
root(z^4 + (4824*z^3)/457 + (11844*z^2)/457 - (14256*z)/457 - 54108/457, z, 4)
方法2 使用vpa函数求近似数值解。
程序
clc;
clear all;
syms x y
[x,y]=solve((x-2)^2+(y+2*x-3)^2==5,2*(x-3)^2+(y/ 3)^2==4 );
x = vpa(x)
y = vpa(y)
x = double(x)
y = double(y)
运行结果
x =
1.6580664770347998069049390497594
1.7362259004399598338121197151769
4.0287335406907803557776183983678
3.4828821781145475308576204296936
y =
1.8936365963298548025994430021814
-2.6929074352940121705044040780427
-4.1171266000258712039597783906018
-5.639401248099686964240293356294
x =
1.6581
1.7362
4.0287
3.4829
y =
1.8936
-2.6929
-4.1171
-5.6394
实例3
程序
clc;
clear all;
syms x a
eqn = x^3 + x^2 + a == 0;
solve(eqn, x)
运行结果
ans =
root(z^3 + z^2 + a, z, 1)
root(z^3 + z^2 + a, z, 2)
root(z^3 + z^2 + a, z, 3)
方法3 修改参数设置。
程序
clc;
clear all;
syms x a
eqn = x^3 + x^2 + a == 0;
solve(eqn, x)
%通过使用“最大度数”调用求解器,尝试获得此类方程的显式解。
% 该选项指定求解程序尝试返回显式解的多项式的最大次数。默认值为2。
% 增加这个值,可以得到高阶多项式的显式解。
% 通过将“MaxDegree”的值增加到3来求解相同的方程以获得显式解。
S = solve(eqn, x, 'MaxDegree', 3)
运行结果
S =
1/(9*(((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3)) + (((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3) - 1/3
- (3^(1/2)*(1/(9*(((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3)) - (((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3))*1i)/2 - 1/(18*(((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3)) - (((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3)/2 - 1/3
(3^(1/2)*(1/(9*(((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3)) - (((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3))*1i)/2 - 1/(18*(((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3)) - (((a/2 + 1/27)^2 - 1/729)^(1/2) - a/2 - 1/27)^(1/3)/2 - 1/3
实例4 solve的使用实例
程序
clc;
clear all;
syms a b c x
eqn = a*x^2 + b*x + c == 0
S = solve(eqn)
Sa = solve(eqn,a)
syms x
eqn = x^5 == 3125;
S = solve(eqn,x)
S = solve(eqn,x,'Real',true)
syms x
eqn = sin(x) == x^2 - 1;
S = solve(eqn,x)
fplot([lhs(eqn) rhs(eqn)], [-2 2])
%通过直接调用数值求解器vpasolve并指定间隔来查找另一个解。
V = vpasolve(eqn,x,[0 2])
syms u v
eqns = [2*u + v == 0, u - v == 1];
S = solve(eqns,[u v])
S.u
S.v
expr1 = u^2;
e1 = subs(expr1,S)
expr2 = 3*v + u;
e2 = subs(expr2,S)
eqns = [3*u+2, 3*u+1];
S = solve(eqns,u)
运行结果
eqn =
a*x^2 + b*x + c == 0
S =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
Sa =
-(c + b*x)/x^2
S =
5
- (2^(1/2)*(5 - 5^(1/2))^(1/2)*5i)/4 - (5*5^(1/2))/4 - 5/4
(2^(1/2)*(5 - 5^(1/2))^(1/2)*5i)/4 - (5*5^(1/2))/4 - 5/4
(5*5^(1/2))/4 - (2^(1/2)*(5^(1/2) + 5)^(1/2)*5i)/4 - 5/4
(5*5^(1/2))/4 + (2^(1/2)*(5^(1/2) + 5)^(1/2)*5i)/4 - 5/4
S =
5
警告: Unable to solve symbolically. Returning a numeric solution using vpasolve.
> In sym/solve (line 304)
In guo_20230421_16 (line 15)
S =
-0.63673265080528201088799090383828
V =
1.4096240040025962492355939705895
S =
包含以下字段的 struct:
u: [1×1 sym]
v: [1×1 sym]
ans =
1/3
ans =
-2/3
e1 =
1/9
e2 =
-5/3
S =
Empty sym: 0-by-1
>>
实例5 solve函数可以求解不等式并返回满足不等式的解
程序
clc;
clear all;
%solve函数可以求解不等式并返回满足不等式的解。解下列不等式。
syms x y
eqn1 = x > 0
eqn2 = y > 0
eqn3 = x^2 + y^2 + x*y < 1
eqns = [eqn1 eqn2 eqn3]
%将"ReturnConditions”设置为true以返回解决方案中的任何参数和解决方案的条件。
S = solve(eqns,[x y],'ReturnConditions',true);
S.x
S.y
S.parameters
S.conditions
condWithValues = subs(S.conditions, S.parameters, [7/2,1/2]);
%isAlways返回逻辑1 (true ),表示这些值满足条件。将这些参数值代入S.x和S.y,找到x和y的解。
isAlways(condWithValues)
xSol = subs(S.x, S.parameters, [7/2,1/2])
ySol = subs(S.y, S.parameters, [7/2,1/2])
运行结果
3.参考内容
[1https://ww2.mathworks.cn/help/symbolic/sym.solve.html;jsessionid=476bd2cb441b759c3d4ebd88747b
[2] CSDN博主有些时候甚至幼稚的文章《Matlab 使用solve求解方程,出现未知数z和root》,文章链接为:
https://blog.csdn.net/jyfan0806/article/details/86613224
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙
相关推荐
- C#.NET Autofac 详解(c# autoit)
-
简介Autofac是一个成熟的、功能丰富的.NET依赖注入(DI)容器。相比于内置容器,它额外提供:模块化注册、装饰器(Decorator)、拦截器(Interceptor)、强o的属性/方法注...
- webapi 全流程(webapi怎么部署)
-
C#中的WebAPIMinimalApi没有控制器,普通api有控制器,MinimalApi是直达型,精简了很多中间代码,广泛适用于微服务架构MinimalApi一切都在组控制台应用程序类【Progr...
- .NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式
-
一:背景1.讲故事上一篇我们讲到了注解特性,harmony在内部提供了20个HarmonyPatch重载方法尽可能的让大家满足业务开发,那时候我也说了,特性虽然简单粗暴,但只能解决95%...
- C# 使用SemanticKernel调用本地大模型deepseek
-
一、先使用ollama部署好deepseek大模型。具体部署请看前面的头条使用ollama进行本地化部署deepseek大模型二、创建一个空的控制台dotnetnewconsole//添加依赖...
- C#.NET 中间件详解(.net core中间件use和run)
-
简介中间件(Middleware)是ASP.NETCore的核心组件,用于处理HTTP请求和响应的管道机制。它是基于管道模型的轻量级、模块化设计,允许开发者在请求处理过程中插入自定义逻辑。...
- IoC 自动注入:让依赖注册不再重复劳动
-
在ASP.NETCore中,IoC(控制反转)功能通过依赖注入(DI)实现。ASP.NETCore有一个内置的依赖注入容器,可以自动完成依赖注入。我们可以结合反射、特性或程序集扫描来实现自动...
- C#.NET 依赖注入详解(c#依赖注入的三种方式)
-
简介在C#.NET中,依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,IoC),以降低代码耦合、提高可...
- C#从零开始实现一个特性的自动注入功能
-
在现代软件开发中,依赖注入(DependencyInjection,DI)是实现松耦合、模块化和可测试代码的一个重要实践。C#提供了优秀的DI容器,如ASP.NETCore中自带的Micr...
- C#.NET 仓储模式详解(c#仓库货物管理系统)
-
简介仓储模式(RepositoryPattern)是一种数据访问抽象模式,它在领域模型和数据访问层之间创建了一个隔离层,使得领域模型无需直接与数据访问逻辑交互。仓储模式的核心思想是将数据访问逻辑封装...
- C#.NET 泛型详解(c# 泛型 滥用)
-
简介泛型(Generics)是指在类型或方法定义时使用类型参数,以实现类型安全、可重用和高性能的数据结构与算法为什么需要泛型类型安全防止“装箱/拆箱”带来的性能损耗,并在编译时检测类型错误。可重用同一...
- 数据分析-相关性分析(相关性 分析)
-
相关性分析是一种统计方法,用于衡量两个或多个变量之间的关系强度和方向。它通过计算相关系数来量化变量间的线性关系,从而帮助理解变量之间的相互影响。相关性分析常用于数据探索和假设检验,是数据分析和统计建模...
- geom_smooth()函数-R语言ggplot2快速入门18
-
在每节,先运行以下这几行程序。library(ggplot2)library(ggpubr)library(ggtext)#用于个性化图表library(dplyr)#用于数据处理p...
- 规范申报易错要素解析(规范申报易错要素解析)
-
为什么要规范申报?规范申报是以满足海关监管、征税、统计等工作为目的,纳税义务人及其代理人依法向海关如实申报的行为,也是海关审接单环节依法监管的重要工作。企业申报的内容须符合《中华人民共和国海关进出口货...
- 「Eurora」海关编码归类 全球海关编码查询 关务服务
-
海关编码是什么? 海关编码即HS编码,为编码协调制度的简称。 其全称为《商品名称及编码协调制度的国际公约》(InternationalConventionforHarmonizedCo...
- 9月1日起,河南省税务部门对豆制品加工业试行新政7类豆制品均适用投入产出法
-
全媒体记者杨晓川报道9月2日,记者从税务部门获悉,为减轻纳税人税收负担,完善农产品增值税进项税额抵扣机制,根据相关规定,结合我省实际情况,经广泛调查研究和征求意见,从9月1日起,我省税务部门对豆制品...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- libcrypto.so (74)
- linux安装minio (74)
- ubuntuunzip (67)
- vscode使用技巧 (83)
- secure-file-priv (67)
- vue阻止冒泡 (67)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)