class?Lagrange

為文峰等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及文峰網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、文峰網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
{
public?static?double?esitimate(double?x,int?n,double?k[][])
{
double?y=0;
int?i;
int?j;
double?w;
double?w1;
for(i=0;in;i++)
{
w=1;
w1=1;
for(j=0;jn;j++)
{
if(j==i)
continue;
else
{
w=w*(x-k[j][0]);
w1=w1*(k[i][0]-k[j][0]);
}
}
//System.out.printf("y=%f,w=%f,w1=%f\n",k[i][1],w,w1);
y=y+k[i][1]*w/w1;
}
return?y;
}
}
class?Newton
{
double?ad[][];//均差表
int?n;
Newton(int?n,double?k[][])
{
int?i,j;
this.n=n;
ad=new?double[n][n];
for(i=0;in;i++)
ad[i][0]=k[i][1];
for(i=1;in;i++)
ad[i][1]=(ad[i][0]-ad[i-1][0])/(k[i][0]-k[i-1][0]);
for(i=2;in;i++)
for(j=i;jn;j++)
{
ad[j][i]=(ad[j][i-1]-ad[j-1][i-1])/(k[j][0]-k[j-i][0]);
//System.out.printf("%f?%f?%f?%f\n",?ad[j][i-1],ad[j-1][i-1],k[j][0],k[j-i][0]);
}
show();
}
void?update(double?x,double?y,double?k[][])
{
int?i,j;
n++;
k[n-1][0]=x;
k[n-1][1]=y;
double?temp[][]=new?double[n][n];
for(i=0;in-1;i++)
for(j=0;j=i;j++)
temp[i][j]=ad[i][j];
temp[n-1][0]=y;
for(i=1;in;i++)
temp[n-1][i]=(temp[n-1][i-1]-temp[n-2][i-1])/(x-k[n-1-i][0]);
ad=temp;
show();
}
void?show()
{
int?i,j;
System.out.println("均差計(jì)算可列均差表如下:");
for(i=0;in;i++)
{
for(j=0;j=i;j++)
System.out.printf("%f???",?ad[i][j]);
System.out.printf("\n");
}
System.out.println("*******************************************");
}
double?esitimate(double?x,double?k[][])
{
int?i,j;
double?y=ad[0][0];
double?w;
for(i=1;in;i++)
{
w=ad[i][i];
for(j=0;ji;j++)
w=w*(x-k[j][0]);
y=y+w;
}
return?y;??
}
}
public?class?interpolate?
{
public?static?void?main(String?args[])
{
int?n=20;
double?k[][]=new?double[n][2];
int?i;
n=3;
k[0][0]=0.32;
k[0][1]=0.314567;
k[1][0]=0.34;
k[1][1]=0.333487;
k[2][0]=0.36;
k[2][1]=0.352274;
System.out.println("拉格朗日插值的節(jié)點(diǎn):");
for(i=0;in;i++)
System.out.printf("%f????%f\n",?k[i][0],k[i][1]);
System.out.println("估算0.3367處的函數(shù)值:");
n=2;
System.out.printf("采用%d次插值得:%f\n",n-1,Lagrange.esitimate(0.3367,n,k));
n=3;
System.out.printf("采用%d次插值得:%f\n",n-1,Lagrange.esitimate(0.3367,n,k));
System.out.println("*******************************************");
k[0][0]=0.4;
k[0][1]=0.41075;
k[1][0]=0.55;
k[1][1]=0.57815;
k[2][0]=0.65;
k[2][1]=0.69675;
k[3][0]=0.80;
k[3][1]=0.88811;
k[4][0]=0.90;
k[4][1]=1.02652;
k[5][0]=1.05;
k[5][1]=1.25382;
Newton?nt=new?Newton(3,k);
nt.update(0.80,?0.88811,?k);
nt.update(0.90,?1.02652,?k);
nt.update(1.05,?1.25382,?k);
nt=new?Newton(5,k);
System.out.println("估算0.596處的函數(shù)值:");
System.out.printf("%f",nt.esitimate(0.596,?k));
}
}
function f = Hermite(x,y,y_1,x0)
syms t;
f = 0.0;
if(length(x) == length(y))
if(length(y) == length(y_1))
n = length(x);
else
disp('y和y的導(dǎo)數(shù)的維數(shù)不相等!');
return;
end
else
disp('x和y的維數(shù)不相等!');
return;
end
for i=1:n
h = 1.0;
a = 0.0;
for j=1:n
if( j ~= i)
h = h*(t-x(j))^2/((x(i)-x(j))^2);
a = a + 1/(x(i)-x(j));
end
end
f = f + h*((x(i)-t)*(2*a*y(i)-y_1(i))+y(i));
if(i==n)
if(nargin == 4)
f = subs(f,'t',x0);
else
f = vpa(f,6);
end
end
end
自己分析吧
class NoLowerLetterException extends Exception {
public NoLowerLetterException(String msg) {
super(msg);
}
}
class NoDigitException extends Exception {
public NoDigitException(String msg) {
super(msg);
}
}
class People {
void printLetter(char c) {
if (c = 'a' c = 'z') {
System.out.println(c);
} else {
try {
throw new NoLowerLetterException(String.valueOf(c));
} catch (NoLowerLetterException e) {
e.printStackTrace();
}
}
}
void printDigit(char c) {
if (c = '0' c = '9') {
System.out.println(c);
} else {
try {
throw new NoDigitException(String.valueOf(c));
} catch (NoDigitException e) {
e.printStackTrace();
}
}
}
}
public class ExceptionExample {
public static void main(String args[]) {
People people = new People();
for (int i = 0; i 128; i++) {
// 【代碼5】
// //將i轉(zhuǎn)換為char類型,執(zhí)行people.printLetter()方法,如果出現(xiàn)異常則捕獲,并輸出異常的錯(cuò)誤信息!
people.printLetter((char) i);
}
for (int i = 0; i 128; i++) {
// 【代碼6】 //將i轉(zhuǎn)換為char類型,執(zhí)行people. printDigit
// ()方法,如果出現(xiàn)異常則捕獲,并輸出異常的錯(cuò)誤信息!
people.printDigit((char) i);
}
}
}
代碼1:int static b;
代碼2:this.a = 10;
代碼3:Ca.b = 10;
代碼4:m1();
代碼5:new Ca().m2();
代碼6:System.out.println(Ca.b);
代碼7:System.out.println(s1.b);
代碼8:System.out.println(s2.b);
代碼2賦值問題,在靜態(tài)的m1()方法中,不能直接調(diào)用非靜態(tài)的變量,可以調(diào)用自身this對(duì)象。
在靜態(tài)的方法中,可以直接調(diào)用靜態(tài)的變量和方法,其它的要實(shí)例后再調(diào)用。希望回答對(duì)你有所幫助。
//Example.java
class A{
float a;
static float b;
void setA(float a ){
this.a = a;
}
void setB(float b){
this.b = b;
}
float getA() {
return a;
}
float getB() {
return b;
}
void inputA() {
System.out.println(a);
}
static void inputB() {
System.out.println(b);
}
}
public class Example {
public static void main (String args[]){
/*代碼5] //通過類名操作類變量b,并賦值100
[代碼6] //通過類名調(diào)用方法inputB()
A cat=new A();
A dog=new A();
[代碼7] //cat調(diào)用方法setA(int a)將cat的成員a的值設(shè)置為200
[代碼8] //cat調(diào)用方法setB(int b)將cat的成員b的值設(shè)置為400
[代碼9] //dog調(diào)用方法setA(int a)將dog的成員a的值設(shè)置為300
[代碼10] //dog調(diào)用方法setB(int b)將dog的成員b的值設(shè)置為800
[代碼11] //cat調(diào)用方法inputA()
[代碼12] //cat調(diào)用方法inputB()
[代碼13] //dog調(diào)用方法inputA()
[代碼14] //dog調(diào)用方法inputB()*/
A.b = 100;
A.inputB();
A cat = new A();
A dog = new A();
cat.setA(200);
cat.setB(300);
dog.setA(300);
dog.setB(800);
cat.inputA();
cat.inputB();
dog.inputA();
dog.inputB();
}
}
有一個(gè)要說明的是,setA()與setB()的形參是浮點(diǎn)型的,所以如樓上所說,樓主代碼7到代碼10的形參設(shè)錯(cuò)了。但200,400,300,800是可以的。只是將int改為float.
網(wǎng)站標(biāo)題:加權(quán)差值的java代碼,加權(quán)差值的java代碼是多少
網(wǎng)站URL:http://chinadenli.net/article19/dsgipdh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、定制網(wǎng)站、網(wǎng)站建設(shè)、軟件開發(fā)、品牌網(wǎng)站制作、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)