MATLAB fit函数翻译

fit

将曲线或曲面拟合成数据

全部折叠在页面中

句法

fitobject = fit(x,y,fitType)

fitobject = fit([x,y],z,fitType)

fitobject = fit(x,y,fitType,fitOptions)

fitobject = fit(x,y,fitType,Name,Value)

[fitobject,gof] = fit(x,y,fitType)

[fitobject,gof,output] = fit(x,y,fitType)

描述

fitobject = fit(x,y,fitType)创建适合于对数据xy由指定的型号fitType

fitobject = fit([x,y],z,fitType)创建一个表面拟合到数据中的载体xyz

fitobject = fit(x,y,fitType,fitOptions)使用由对象指定的算法选项来创建适合数据的数据fitOptions

fitobject = fit(x,y,fitType,Name,Value)使用库模型使用一个或多个对参数指定的附加选项来创建数据拟合。使用以显示可用的属性名称和默认值特定库模型。fitTypeName,Valuefitoptions

[fitobject,gof] = fit(x,y,fitType)返回结构中的适合度统计gof

[fitobject,gof,output] = fit(x,y,fitType)返回结构中的拟合算法信息output

例子

全部收缩

拟合二次曲线

在MATLAB中试用

加载一些数据,适合于变量二次曲线cdatepop,并绘制拟合和数据。

load census;
f = fit(cdate,pop,'poly2')
f = 
     线性模型 Poly2:
     f(x)= p1 * x ^ 2 + p2 * x + p3
     系数(95%置信区间):
       p1 = 0.006541(0.006124,0.006958)
       p2 = -23.51(-25.09,-21.93)
       p3 = 2.113e + 04(1.964e + 04,2.226e + 04)
plot(F,cdate,pop)

有关库模型名称的列表,请参阅fitType

拟合多项式曲面

在MATLAB中试用

加载一些数据并拟合 2 x度和3 度的多项式曲面y。绘制适合度和数据。

load franke 
sf = fit([x,y],z,'poly23')
     线性模型Poly23:
     sf(x,y)= p00 + p10 * x + p01 * y + p20 * x ^ 2 + p11 * x * y + p02 * y ^ 2 + p21 * x ^ 2 * y 
                    + p12 * x * y ^ 2 + p03 * y ^ 3
     系数(95%置信区间):
       p00 = 1.118(0.9149,1.321)
       p10 = -0.0002941(-0.000502,-8.623e-05)
       p01 = 1.533(0.7032,2.364)
       p20 = -1.966e-08(-7.084e-08,3.1552e-08)
       p11 = 0.0003427(-0.0001009,0.0007863)
       p02 = -6.951(-8.421,-5.481)
       p21 = 9.563e-08(6.276e-09,1.85e-07)
       p12 = -0.0004401(-0.0007082,-0.0001721)
       p03 = 4.999(4.082,5.917)
plot(sf,[X,Y,Z)

在MATLAB表中使用变量拟合曲面

在MATLAB中试用

加载franke数据并将其转换为MATLAB®表格。

load franke 
T = table(x,y,z);

将表中的变量指定为函数的输入,并绘制拟合。fit

f = fit([Tx,Ty],Tz,'linearinterp');
plot(f,[Tx,Ty],Tz)

在拟合之前创建适合选项和适合类型

在MATLAB中试用

加载和绘制数据,使用和函数创建拟合选项和拟合类型,然后创建并绘制拟合。fittypefitoptions

加载并绘制数据census.mat

load census
plot(cdate,pop,'o')

为自定义非线性模型创建拟合选项对象和拟合类型,其中a和b是系数,n是与问题相关的参数。

fo = fitoptions('Method','NonlinearLeastSquares',... 
               'Lower',[0,0],... 
               'Upper',[Inf,max(cdate)],... 
               'StartPoint',[1 1]);
ft = fittype('a *(xb)^ n','problem','n','options',fo);

使用拟合选项和n = 2 的值来拟合数据。

[curve2,gof2] = fit(cdate,pop,ft,'问题',2)
curve2 = 

     一般模型:
     curve2(x)= a *(xb)^ n
     系数(95%置信区间):
       a = 0.006092(0.005743,0.006441)
       b = 1789(1784,1793)
     问题参数:
       n = 2

gof2 = 

  结构与字段:

           sse:246.1543
       rsquare:0.9980
           dfe:19
    adjrsquare:0.9979
          rmse:3.5994

使用拟合选项和n = 3 的值来拟合数据。

[curve3,gof3] = fit(cdate,pop,ft,'problem',3)
curve3 = 

     一般模型:
     curve3(x)= a *(xb)^ n
     系数(95%置信区间):
       a = 1.359e-05(1.245e-05,1.474e-05)
       b = 1725(1718,1731)
     问题参数:
       n = 3

gof3 = 

  结构与字段:

           sse:232.0058
       rsquare:0.9981
           dfe:19
    adjrsquare:0.9980
          rmse:3.4944

用数据绘制拟合结果。

hold on 
plot(curve2,'M' )
plot(curve3,'c')
legend('Data','n = 2','n = 3')
hold off

拟合指定标准化和可靠选项的立方多项式

在MATLAB中试用

加载一些数据,并配合和策划了三次多项式具有中心和规模(Normalize)和强大的安装选项。

load census ;
f = fit(cdate,pop,'poly3','Normalize','on','Robust','Bisquare')
f = 
     线性模型Poly3:
     f(x)= p1 * x ^ 3 + p2 * x ^ 2 + p3 * x + p4
       其中x由均值1890和标准差62.05归一化
     系数(95%置信区间):
       p1 = -0.4619(-1.895,0.9707)
       p2 = 25.01(23.79,26.22)
       p3 = 77.03(74.37,79.7)
       p4 = 62.81(61.26,64.37)
plot(f,cdate,pop)

拟合由文件定义的曲线

在文件中定义一个函数并使用它来创建拟合类型并拟合曲线。

定义在MATLAB的功能®文件。

function y = piecewiseLine(x,a,b,c,d,k)
 %PIECEWISELINE由两段不连续的线组成的线。

y =zeros(size(x));

%这个例子纯粹出于例子的目的而包含了for-loop和if语句。
for i = 1:length(x)
     if x(i)<k,
        y(i)= a + b。* x(i);
    else
        y(i)= c + d。* x(i);
    end
end
end

保存文件。

定义了一些数据,创建一个适合类型指定功能piecewiseLine,创建一个配合使用的配合型ft,并绘制结果。

x = [0.81; 0.91; 0.13; 0.91; 0.63; 0.098; 0.28; 0.55; ...
0.96; 0.96; 0.16; 0.97; 0.96];
y = [0.17; 0.12; 0.16; 0.0035; 0.37; 0.082; 0.34; 0.56; ...
0.15; -0.046; 0.17; -0.091; -0.071];
ft = fittype('piecewiseLine(x,a,b,c,d,k)')
f = fit(x,y,ft,'StartPoint',[ 1,0,1,0,0.5 ])
plot(f,x,y) 

从适合度中排除积分

在MATLAB中试用

加载一些数据并拟合指定要排除的点的自定义方程式。绘制结果。

加载数据并定义一个自定义方程和一些起点。

[x,y] =titanium;

gaussEqn = 'a * exp( - ((xb)/ c)^ 2)+ d'
gaussEqn = 
'A * EXP( - ((XB)/ C)^ 2)+ d'
startPoints = [1.5 900 10 0.6]
startPoints = 1×4

    1.5000 900.0000 10.0000 0.6000

使用自定义公式和起点创建两个拟合,并使用索引向量和表达式定义两组不同的排除点。用于Exclude从您的合体中删除异常值。

f1 = fit(x',y',gaussEqn,'Start',startPoints,'Exclude',[1 10 25])
f1 = 
     一般型号:
     f1(x)= a * exp( - ((xb)/ c)^ 2)+ d
     系数(95%置信区间):
       a = 1.493(1.432,1.554)
       b = 897.4(896.5,898.3)
       c = 27.9(26.55,29.25)
       d = 0.6519(0.6367,0.6672)
f2 = fit(x',y',gaussEqn,'Start',startPoints,'Exclude',x <800)
f2 = 
     一般型号:
     f2(x)= a * exp( - ((xb)/ c)^ 2)+ d
     系数(95%置信区间):
       a = 1.494(1.41,1.578)
       b = 897.4(896.2,898.7)
       c = 28.15(26.22,30.09)
       d = 0.6466(0.6169,0.66764)

绘制两个适合。

plot(f1,X,Y)
title(' 符合排除的数据点1,10和25')

figure
plot(f2,X,Y)
title(“ 拟合的数据点中排除,使得x <800”)

排除点和绘制适合显示排除的数据

在MATLAB中试用

您可以将排除的点定义为变量,然后将它们作为输入提供给拟合函数。以下步骤重新创建前面示例中的拟合,并允许您绘制排除点以及数据和拟合。

加载数据并定义一个自定义方程和一些起点。

[x,y] =titanium;

gaussEqn = 'a * exp( - ((xb)/ c)^ 2)+ d'
gaussEqn = 
'A * EXP( - ((XB)/ C)^ 2)+ d'
startPoints = [1.5 900 10 0.6]
startPoints = 1×4

    1.5000 900.0000 10.0000 0.6000

使用索引向量和表达式定义两组要排除的点。

exclude1 = [1 10 25];
exclude2 = x <800;

使用自定义方程式,起点和两个不同的排除点创建两个拟合。

f1 = fit(x',y',gaussEqn,'Start',startPoints,'Exclude',exclude1);
f2 = fit(x',y',gaussEqn,'Start',startPoints,'Exclude',exclude2);

绘图都适合并突出显示排除的数据。

plot(f1,X,Y,exclude1)
title(' 符合排除的数据点1,10和25')

figure; 
plot(f2,X,Y,exclude2)
title(“ 拟合的数据点中排除,使得x <800”)

对于排除点的曲面拟合示例,加载一些曲面数据并创建和绘制指定排除数据的拟合。

load franke 
f1 = fit([xy],z,'poly23','Exclude',[1 10 25]);
f2 = fit([xy],z,'poly23','Exclude',z> 1);

figure
plot(f1,[xy],z,'Exclude',[1 10 25]);
title(' 符合排除的数据点1,10和25')

figure
plot(f2,[xy],z,'Exclude',z> 1);
title(“ 拟合的数据点中排除,使得Z> 1”)

拟合平滑样条曲线并返回适合度信息

在MATLAB中试用

加载一些数据,并适合通过变量平滑样条曲线monthpressure,并返回优度拟合信息和输出结构。绘制数据的拟合和残差。

load enso ;
[curve,goodness,output] = fit(month,pressure,'smoothingspline');
plot(curve,month,pressure);
xlabel('月');
ylabel('压力');

根据x-data(month)绘制残差。

plot(curve,month,pressure,'residuals')
xlabel('月')
ylabel('残余')

使用output结构中的数据将残差与y数据(pressure)进行比较。

plot(pressure,output.residuals,'.')
xlabel('压力')
ylabel('残余')

拟合单项指数

在MATLAB中试用

以指数趋势生成数据,然后使用指数模型的曲线拟合库(单项指数)中的第一个公式拟合数据。绘制结果。

x =(0:0.2:5)';
y = 2 * exp(-0.2 * x)+ 0.5 * randn(size(x));
f = fit(x,y,'exp1');
plot(f,X,Y)

使用匿名函数拟合自定义模型

您可以使用匿名函数来更轻松地将其他数据传递到函数中。fit

在定义匿名函数之前加载数据并设置Emax1

data = importdata('OpioidHypnoticSynergy.txt');
Propofol = data.data(:,1);
Remifentanil = data.data(:,2);
Algometry = data.data(:,3);
Emax = 1;

将模型方程定义为匿名函数:

Effect= @(IC50A,IC50B,α,n,x,y)... 
    Emax *(x / IC50A + y / IC50B +α*(x / IC50A)...。 
    *(y / IC50B))。 ((x / IC50A + y / IC50B + ... 
    α*(x / IC50A)*(y / IC50B))。^ n + 1);

使用匿名函数Effect作为函数的输入,并绘制结果:fit

AlgometryEffect = fit([Propofol,Remifentanil],Algometry,Effect,... 
    'StartPoint ',[2,10,1,0.8 ],... 
    'Lower',[-Inf,-Inf,-5,-Inf ],... 
    'Robust','LAR')
plot(AlgometryEffect,[Propofol,Remifentani],Algometry)

有关使用匿名函数和其他自定义模型进行拟合的更多示例,请参阅该fittype函数。

查找系数顺序以设置起点和界限

在MATLAB中试用

对于属性UpperLowerStartPoint,您需要查找系数条目的顺序。

创建一个合适的类型。

ft = fittype('b * x ^ 2 + c * x + a');

使用该coeffnames函数获取系数名称和顺序。

coeffnames(ft)
ans = 3x1单元阵列
    {'a'}
    {'b'}
    {'c'}

请注意,这ft与用于创建的表达式中系数的顺序不同fittype

加载数据,创建一个拟合并设置起点。

load enso
fit(month,pressure,ft,'StartPoint',[1,3,5])
ans = 
     一般模型:
     ans(x)= b * x ^ 2 + c * x + a
     系数(95%置信区间):
       a = 10.94(9.362,12.52)
       b = 0.0001677(-7.985e-05,0.0004153)
       c = -0.0224(-0.06559,0.02079)

这就赋予初始值的系数,如下所示:a = 1b = 3c = 5

或者,您可以得到拟合选项并设置起点和下限,然后使用新选项进行重新整理。

options = fitoptions(ft)
选项=

        标准化:'关闭'
          排除:[]
          重量:[]
           方法:'NonlinearLeastSquares'
           鲁棒:'关闭'
       StartPoint:[1x0双倍]
            下:[1x0双]
            上:[1x0双]
        算法:'Trust-Region'
    DiffMinChange:1.0000e-08
    DiffMaxChange:0.1000
          显示:'通知'
      MaxFunEvals:600
          最大:400
           TolFun:1.0000e-06
             TolX:1.0000e-06
options =

        Normalize: 'off'
          Exclude: []
          Weights: []
           Method: 'NonlinearLeastSquares'
           Robust: 'Off'
       StartPoint: [1x0 double]
            Lower: [1x0 double]
            Upper: [1x0 double]
        Algorithm: 'Trust-Region'
    DiffMinChange: 1.0000e-08
    DiffMaxChange: 0.1000
          Display: 'Notify'
      MaxFunEvals: 600
          MaxIter: 400
           TolFun: 1.0000e-06
             TolX: 1.0000e-06
options.StartPoint = [10 1 3];
options.Lower = [0 -Inf 0];
fit(month,pressure,ft,options)
ans = 
     一般模型:
     ans(x)= b * x ^ 2 + c * x + a
     系数(95%置信区间):
       a = 10.23(9.448,11.01)
       b = 4.335e-05(-1.82e-05,0.0001049)
       c = 5.523e-12(固定在约束)

输入参数

全部收缩

x- 适合矩阵的数据

拟合的数据,用一个(曲线拟合)或两个(曲面拟合)列指定为矩阵。您可以使用在MATLAB表中指定变量tablename.varname。不能包含InfNaN。只有复杂数据的实际部分才适合使用。

例: x

例: [x,y]

数据类型: double

y- 适合矢量的数据

适合的数据,指定为具有相同行数的列向量x。你可以使用一个MATLAB表格来指定一个变量tablename.varname。不能包含InfNaN。只有复杂数据的实际部分才适合使用。

使用prepareCurveDataprepareSurfaceData如果您的数据不是列向量形式。

数据类型: double

z- 适合矢量的数据

适合的数据,指定为具有相同行数的列向量x。你可以使用一个MATLAB表格来指定一个变量tablename.varname。不能包含InfNaN。只有复杂数据的实际部分才适合使用。

使用prepareSurfaceData如果您的数据是不是在列向量形式。例如,如果您有3个矩阵,或者如果您的数据处于网格向量形式,其中length(X) = n, length(Y) = msize(Z) = [m,n]

数据类型: double

fitType- 适合字符向量 |的模型类型 字符向量的单元阵列 | 匿名函数 |
fittype

适合的模型类型,指定为库模型名称字符向量,MATLAB表达式,线性模型项的单元阵列,匿名函数或使用fittype函数构造的模型类型fittype。您可以使用任何有效的第一个输入fittype作为输入。fit

有关库模型名称的列表,请参阅模型名称和等式。该表显示了一些常见的例子。

库模型名称

描述

'poly1'

线性多项式曲线

'poly11'

线性多项式曲面

'poly2'

二次多项式曲线

'linearinterp'

分段线性插值

'cubicinterp'

分段三次插值

'smoothingspline'

平滑样条曲线(曲线)

'lowess'

局部线性回归(表面)

 

到适合的自定义模型,使用MATLAB表达,线性模型项的单元阵列,一个匿名函数,或者创建一个fittype与该fittype功能并使用这个作为fitType参数。有关示例,请参阅使用匿名函数拟合自定义模型。有关线性模型术语的示例,请参阅该函数。fitType

例如: 'poly2'

fitOptions- 算法选项
fitoptions

使用该fitoptions函数构造的算法选项。这是指定适合选项的名称/值对参数的替代方法。

名称 - 值对参数

指定可选的逗号分隔Name,Value参数对。Name是参数名称并且Value是相应的值。 Name必须出现在单引号(' ')内。您可以按任意顺序指定多个名称和值对参数 Name1,Value1,...,NameN,ValueN

示例:'Lower',[0,0],'Upper',[Inf,max(x)],'StartPoint',[1 1]指定拟合方法,边界和起点。

所有拟合方法的选项

全部收缩

'Normalize'- 选择集中和缩放数据
'off'(默认)|'on'

选项居中和缩放数据,指定为逗号分隔的一对组成的'Normalize''on''off'

数据类型: char

'Exclude'- 从拟合表达式中排除的点索引向量 | 逻辑向量 | 

从fit中排除的点,指定为逗号分隔对由以下'Exclude'之一组成:

  • 描述逻辑向量的表达式,例如x > 10

  • 一个整数向量,用于索引要排除的点,例如[1 10 25]

  • 所有数据点的逻辑向量,true表示异常值,由...创建excludedata

有关示例,请参阅从拟合中排除点

数据类型:logical |double

'Weights'- 重量适合
[](默认)| 向量

适合的权重,指定为由逗号分隔的对'Weights'和与响应数据y(曲线)或z(曲面)大小相同的矢量。

数据类型: double

'problem'- 要分配给问题相关常量的值
单元格数组 | | 双

要分配给问题相关常量的值,指定为由逗号分隔的对'problem'和单元阵列,每个问题有一个元素相关常量。有关详情,请参阅fittype

数据类型:cell |double

平滑选项

全部收缩

'SmoothingParam'在范围(0,1)中平滑参数
标量值

平滑参数,指定为由'SmoothingParam'0和1之间的逗号分隔对组成的标量值。默认值取决于数据集。只有适合的类型是可用的smoothingspline

数据类型: double

'Span'- 在局部回归中使用的数据点的比例
0.25(默认)| 标量值在范围(0,1)

在局部回归中使用的数据点的比例,指定为由逗号分隔的一对'Span'和由0到1之间的标量值指定的值。只有在拟合类型为lowess或时才可用loess

数据类型: double

线性和非线性最小二乘选项

全部收缩

'Robust'- 鲁棒线性最小二乘拟合方法
'off'(默认)| LAR|Bisquare

稳健的线性最小二乘拟合方法,指定为由'Robust'以下值之一组成的逗号分隔对:

  • 'LAR' 指定最小绝对剩余方法。

  • 'Bisquare' 指定bisquare权重方法。

适合类型MethodLinearLeastSquares或 时可用NonlinearLeastSquares

数据类型: char

'Lower'- 拟合系数的下限
[](默认)| 向量

拟合系数的下限,指定为逗号分隔对'Lower'和矢量。默认值是一个空向量,表示 拟合不受下限限制。如果指定了边界,则矢量长度必须等于系数的数量。使用该coeffnames函数查找矢量值中系数的条目顺序。有关示例,请参阅查找系数顺序以设置起点和界限。单独的无约束下界可以通过-Inf

MethodLinearLeastSquares或时可用NonlinearLeastSquares

数据类型: double

'Upper'- 拟合系数的上界
[](默认)| 向量

拟合系数的上限,指定为由逗号分隔的对'Upper'和一个向量。默认值是一个空向量,表示 拟合不受上限约束。如果指定了边界,则矢量长度必须等于系数的数量。使用该coeffnames函数查找矢量值中系数的条目顺序。有关示例,请参阅查找系数顺序以设置起点和界限。个别无约束的上限可以通过+Inf

MethodLinearLeastSquares或时可用NonlinearLeastSquares

数据类型: logical

非线性最小二乘选项

全部收缩

'StartPoint'- 系数的初始值
[](默认值)| 向量

系数的初始值,指定为由逗号分隔的对'StartPoint'和向量。使用该coeffnames函数查找矢量值中系数的条目顺序。有关示例,请参阅查找系数顺序以设置起点和界限

如果没有开始点(空向量的默认值)传递给函数,则启发式地确定某些库模型的起点。对于有理和威布尔模型以及所有自定义非线性模型,工具箱从区间(0,1)中随机地均匀选择系数的默认初始值。因此,使用相同数据和模型的多重拟合可能导致不同的拟合系数。为了避免这种情况,请为该值指定对象或矢量值的系数的初始值。fitfitoptionsStartPoint

可当MethodNonlinearLeastSquares

数据类型: double

'Algorithm'- 用于拟合程序
'Trust-Region'(默认)|的算法 “文伯格-马夸特”

用于拟合程序的算法,指定为由以及'Algorithm''Levenberg-Marquardt'或组成的逗号分隔对'Trust-Region'

可当MethodNonlinearLeastSquares

数据类型: char

'DiffMaxChange'- 有限差分梯度的最大系数变化
0.1(默认)

有限差分梯度系数的最大变化,指定为逗号分隔对'DiffMaxChange'和标量。

可当MethodNonlinearLeastSquares

数据类型: double

'DiffMinChange'- 有限差分梯度系数的最小变化
10 -8(默认)

有限差分梯度系数的最小变化,指定为逗号分隔对'DiffMinChange'和标量。

可当MethodNonlinearLeastSquares

数据类型: double

'Display'- 在命令窗口中显示选项
'notify'(默认)| 'final''iter'|'off'

在命令窗口中显示选项,指定为由'Display'以下选项之一组成的逗号分隔对:

  • 'notify'仅在拟合不收敛时显示输出。

  • 'final' 只显示最终输出。

  • 'iter' 在每次迭代中显示输出。

  • 'off' 不显示输出。

 

可当MethodNonlinearLeastSquares

数据类型: char

'MaxFunEvals'- 允许模型的最大评估数量
600(默认)

允许模型的最大评估数,指定为逗号分隔对'MaxFunEvals'和标量。

可当MethodNonlinearLeastSquares

数据类型: double

'MaxIter'- 适合允许的最大迭代次数 
400(默认)

允许拟合的最大迭代次数,指定为逗号分隔对'MaxIter'和标量。

可当MethodNonlinearLeastSquares

数据类型: double

'TolFun'- 型号值10 -6的终端容差(默认)

模型值的终止容差,指定为由逗号分隔的对'TolFun'和标量组成的逗号。

可当MethodNonlinearLeastSquares

数据类型: double

'TolX'- 系数值的终端容差
10 -6(默认)

系数值的终止容差,指定为由逗号分隔的对'TolX'和标量组成的逗号。

可当MethodNonlinearLeastSquares

数据类型: double

输出参数

全部收缩

fitobject- 拟合结果
cfit|sfit

拟合结果,返回为cfit(对于曲线)或sfit(对于曲面)对象。请参阅拟合后处理以查看绘图,评估,计算置信区间,整合,区分或修改拟合对象的功能。

gof- 适合度的统计
gof结构|

善-OF- 适合的统计,返回的gof结构,包括在此表中的字段。

领域

sse

由于错误导致的平方和

rsquare

R平方(确定系数)

dfe

错误的自由度

adjrsquare

自由度调整的决定系数

rmse

均方根误差(标准误差)

output- 拟合算法信息
output结构

拟合算法信息,作为output包含与拟合算法相关的信息的结构返回。

字段取决于算法。例如,output非线性最小二乘算法的结构包括此表中显示的字段。

领域

numobs

观察次数(响应值)

numparam

适合的未知参数(系数)的数量

residuals

残余矢量

Jacobian

雅可比矩阵

exitflag

描述算法的退出条件。积极的标志表明在公差范围内收敛。零标志表示已超过功能评估或迭代的最大数量。负标志表示算法没有收敛到解决方案。

iterations

迭代次数

funcCount

功能评估的数量

firstorderopt

一阶最优性的测量(梯度分量的绝对最大值)

algorithm

使用拟合算法

  • 42
    点赞
  • 217
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值